读书人

java经过数据库表名自动生成实体类

发布时间: 2012-08-29 08:40:14 作者: rapoo

java通过数据库表名自动生成实体类
???
???sb.append("/n");
???for(int i=1;i<rsmd.getColumnCount();i++){
????String type = typename(rsmd.getColumnTypeName(i));
????//打印属性
????sb.append("/tprivate/t");
????sb.append(type+"/t");
????sb.append(rsmd.getColumnName(i)+";");
????sb.append("/n");
????//打印get方法
????sb.append("/t//get方法/n");
????sb.append("/tpublic/t"+type+"/tget"+rsmd.getColumnName(i)+"(){/n");
????sb.append("/t/treturn "+rsmd.getColumnName(i)+";/n/t/n");
????sb.append("}/n");
????//打印set方法
????sb.append("/t//set方法/n");
????//
????sb.append("/tpublic/t"+type+"/tset"+rsmd.getColumnName(i)+"("+type+"/t"+rsmd.getColumnName(i)+")"+"{/n");
????sb.append("/treturn/tthis."+rsmd.getColumnName(i)+"/t = "+rsmd.getColumnName(i)+";/n");
????sb.append("}/n");
???}
???sb.append("}");
???String strsb = sb.toString();
??? //创建一个FileWriter对象
???FileWriter fw = new FileWriter(file);
???//创建一个BufferedWriter对象
???BufferedWriter bw = new BufferedWriter(fw);
???bw.write(strsb);
???bw.newLine();
??//关闭文件流
???bw.flush();
???fw.close();
?
??} catch (SQLException e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}finally{
???//关闭数据库连接
???closeResultSet(res);
???closeConneciton(con);
??}
??
??System.out.println(sb);
?}
?
?public String typename(String typename){
??
??String tystr=null;
??if(typename.equals("varchar")){
???tystr="String";
??}
??if(typename.equals("int")){
???tystr="int";
??}
??else{
???tystr="Object";
??}
??return tystr;
?}
?
?
}

?

在上面工程中的类,以后在其他工程中导入这个类,在写入xml传入参数就能得到相应数据库表名的实体

?

//build.xml

?

<?xml version="1.0"?>

<project name="project" default="default">
?
??? <target name="default" depends="depends" description="--> description">
??????? <taskdef name="test" classname="com.yangtb.creatclass.CreatClass"></taskdef>
??? ?<test tableName="Bloginfo" strpackage="entity"></test>
??? </target>
??? <target name="depends">
??? </target>
</project>

?

记得导入

读书人网 >其他数据库

热点推荐