能给个实例么? 我现在正准备用你说的前两个方法 但是 需要判断的东西不能一次从数据库中取出来,需要开关数据库好几次。希望能给个实例,谢谢
追答取什么信息不能一次取出来啊?
我现在没有符合你需求的代码!
你先弄弄试试!~看看有什么问题,在根据具体问题,我来帮你。
CGLib这个库能将实体类创建到本地么?
追答创建实体类到本地应该不行的。如果要创建文件,那就要我说的第三种方式了。但是可以完成如下的工作。就是在内存中创建某一个已经存在的类的子类,然后在这个类中添加方法和成员变量,形成一个Java对象。
不知道你的需求是否是程序处理就可以,如果程序处理可以,那么久不需要生成文件,只要生成对象,由程序下一步处理就可以。但是如果说你要实现和MyEclipse一样的一个反向工程的代码生成工具的话,那就需要通过IO方式将代码生成.java文件,再使用Runtime.getRuntime().exec()去执行javac.exe进行代码编译才行。
创建实体类到本地应该不行的。如果要创建文件,那就要我说的第三种方式了。但是可以完成如下的工作。就是在内存中创建某一个已经存在的类的子类,然后在这个类中添加方法和成员变量,形成一个Java对象。
不知道你的需求是否是程序处理就可以,如果程序处理可以,那么久不需要生成文件,只要生成对象,由程序下一步处理就可以。但是如果说你要实现和MyEclipse一样的一个反向工程的代码生成工具的话,那就需要通过IO方式将代码生成.java文件,再使用Runtime.getRuntime().exec()去执行javac.exe进行代码编译才行。
创建实体类到本地应该不行的。如果要创建文件,那就要我说的第三种方式了。但是可以完成如下的工作。就是在内存中创建某一个已经存在的类的子类,然后在这个类中添加方法和成员变量,形成一个Java对象。
不知道你的需求是否是程序处理就可以,如果程序处理可以,那么久不需要生成文件,只要生成对象,由程序下一步处理就可以。但是如果说你要实现和MyEclipse一样的一个反向工程的代码生成工具的话,那就需要通过IO方式将代码生成.java文件,再使用Runtime.getRuntime().exec()去执行javac.exe进行代码编译才行。
..... DataBaseMetaData和ResultSetMetaData 这个 方法现在我弄出来了 但是 挑数据库,不知道为啥 有的表 无法获取里面的外建,表肯定没有问题 。
追答你是如何获取外键信息的,代码调用的是哪个方法?
追问rs = meta.getExportedKeys(conn.getCatalog(), null, tablename);
while (rs.next()) {
String fkTableName = rs.getString("FKTABLE_NAME");
String fkColumnName = rs.getString("FKCOLUMN_NAME");
}
你用的是什么数据库啊?表有没有Schema啊?
追问mysql
追答rs = meta.getExportedKeys(conn.getCatalog(), null, tablename);
你把第一个参数写成null试一试。
rs = meta.getExportedKeys(null, null, tablename);
试过了‵~~ 不好用啊
追答你看看能不能进到while里。
是连while都进不去?是没查到信息,还是取的问题?
这个我也知道 项目需求 必须自己写 不能用插件~
追答参考下这篇文章,http://qinya.javaeye.com/blog/726466 ,通过jdbc取表结构,然后反射生成实体类
追问这个东西我查到了~~ 但是 关联表的情况下 不好弄啊 ~