java代码生成实体类 java代码生成uml类图

JAVA自动创建实体类工具?AutoJava 是一款免费java代码生成实体类的,针对于Oracle和SQLserver数据库的、以面向对象模式的Java代码生成工具 。AutoJava根据O/R Mapping规则生成表对应的Java对象java代码生成实体类,并且生成java代码生成实体类了所有的添加、删除、修改、查询等底层数据库操作代码 。借助于AutoJava我们基本上不用再写与数据库相关的操作代码 , 只需要在此基础上实现相关的业务逻辑,将我们从重复的无太大技术含量的工作中解放出来 。
AutoJava 是我在工作中为了省时间而写出来的一个小工具,希望AutoJava能给广大的Java人员在编码过程中节省时间 。这是地址
JAVA如何设计实体类?实体类,只要里面包含属性跟方法就可以了,例如public class demo{
private int age;
private String name;
} 。这就是一个标准的实体类
如何根据数据库的字段动态创建实体类? 用java啊~ 最好给点源码和实例你这个需求特殊,给你个思路 。
先通过数据库元数据对象DataBaseMetaData和ResultSetMetaData得到表的元数据的信息 。
生成类,可以用反射的方式和修改字节码的方式 。修改字节码方式可以使用开源的CGLib这个库,Hibernate就是使用的这个库 。这个生成是在内存的 。
估计 , 将java代码写成.java文件,再调用编译器编译形成class也能完成需求 。
就是不知道哪个适合你 。效率上 , 肯定是上面两种好 , 最后一种差一些 。
如何通过java反射将数据库表生成实体类首先有几点声明java代码生成实体类:
1、代码是在别人的基础进行改写的;
2、大家有什么改进的意见可以告诉我java代码生成实体类,也可以自己改好共享给其java代码生成实体类他人;
3、刚刚毕业,水平有限,肯定有许多不足之处;
4、希望刚刚学习java的同学能有所启发 。
//这个是做转换的类,里面的DB只是封装了数据库的连接 , 大家可以用自己的,随意
package com.tt.util.gen.entity.tool;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
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;
import java.util.Properties;
import com.tt.util.DB;
public class GenEntityMysql {
private String packageOutPath;// 指定实体生成所在包的路径
private String authorName;// 作者名字
private String tablename;// 表名
private String databasename;// 数据库名
private ListString tablenames;// 拿到对应数据库中所有的实体类(实体类需要与其他表明做区分)
private ListString colnames; // 列名集合
private ListString colTypes; // 列名类型集合
private boolean f_util = false; // 是否需要导入包java.util.*
private boolean f_sql = false; // 是否需要导入包java.sql.*
/*
* 构造函数
*/
public GenEntityMysql() {
// 使用properties读取配置文件
Properties prop = new Properties();
try {
InputStream genentity = getClass().getResourceAsStream(
"/genentity.properties");
prop.load(genentity);
if (genentity != null) {
genentity.close();
}
} catch (Exception e) {
System.out.println("file " + "catalogPath.properties"
+ " not found!\n" + e);
}
this.databasename = prop.getProperty("databasename").toString();

推荐阅读