您好,欢迎访问一九零五行业门户网

利用Java将Mysql数据表生成JPA实体对象_MySQL

package cn.lry.xp;
import java.io.file;
import java.io.filewriter;
import java.io.ioexception;
import java.io.printwriter;
import java.sql.connection;
import java.sql.databasemetadata;
import java.sql.drivermanager;
import java.sql.preparedstatement;
import java.sql.resultset;
import java.sql.resultsetmetadata;
import java.sql.sqlexception;
import java.util.arraylist;
import java.util.date;
import java.util.list;
/**
* 从数据库表反射出实体类,自动生成实体类
* @author lry
*
*/
public class genentitymysql {
private string packageoutpath = cn.lry.po;//指定实体生成所在包的路径
private string authorname = lry;//作者名字
private string tablename = ;//表名
private string[] colnames; // 列名数组
private string[] coltypes; //列名类型数组
private int[] colsizes; //列名大小数组
private boolean f_util = false; // 是否需要导入包java.util.*
private boolean f_sql = false; // 是否需要导入包java.sql.*
private boolean f_jpa = true; // 是否需要生成基于注解的jpa实体对象
//数据库连接
private static final string url =jdbc:mysql://localhost:3306/mytest;
private static final string name = root;
private static final string pass = 123456;
private static final string driver =com.mysql.jdbc.driver;
/*
* 构造函数
*/
public genentitymysql(){
list list=gettablename();
for(int p=0;ptablename=list.get(p);
//创建连接
connection con;
//查要生成实体类的表
string sql = select * from + tablename;
preparedstatement pstemt = null;
try {
try {
class.forname(driver);
} catch (classnotfoundexception e1) {
e1.printstacktrace();
}
con = drivermanager.getconnection(url,name,pass);
pstemt = con.preparestatement(sql);
resultsetmetadata rsmd = pstemt.getmetadata();
int size = rsmd.getcolumncount();//统计列
colnames = new string[size];
coltypes = new string[size];
colsizes = new int[size];
for (int i = 0; i
colnames[i] = rsmd.getcolumnname(i + 1);
coltypes[i] = rsmd.getcolumntypename(i + 1);
if(coltypes[i].equalsignorecase(datetime)){
f_util = true;
}
if(coltypes[i].equalsignorecase(image) || coltypes[i].equalsignorecase(text)){
f_sql = true;
}
colsizes[i] = rsmd.getcolumndisplaysize(i + 1);
}
string content = parse(colnames,coltypes,colsizes);
try {
file directory = new file();
string outputpath = directory.getabsolutepath()+ /src/+this.packageoutpath.replace(., /)+/+initcap(tablename) + .java;
filewriter fw = new filewriter(outputpath);
printwriter pw = new printwriter(fw);
pw.println(content);
pw.flush();
pw.close();
} catch (ioexception e) {
e.printstacktrace();
}
} catch (sqlexception e) {
e.printstacktrace();
} finally{
//try {
//con.close();
/
其它类似信息

推荐信息