为了解决多数JavaEE开发人员在写dao的时候代码量太大的问题,小弟不才,最近自己写了一个dao的自动生成工具—Dz_Model 1.0,生成出来的dao使用dbcp连接池技术来操作数据库,经过测试,这个jar包是可以运行起来的,现在小弟就把这个工具jar包共享给大家,希望能够给大家在做JavaEE开发的时候提供方便。
Dz_Model 1.0的程序流程是这样的:首先根据用户提供的数据库地址,读取数据库元数据获得数据库信息,其中包括数据表的名称、主键和各个字段的名称、类型,之后在根据已有的模板通过替换字符串的形式将dao接口、dao实现类和domain类中的关键字给替换掉,比如类名、字段名、字段类型等,生成各种类的代码,最后再把这些代码生成类。这就是Dz_Model 1.0的程序流程。
由于目前技术有限,所以目前的版本v1.0只具有以下功能:
根据数据库生成应用了单例模式的factory类和utils类
生成的utils类通过dbcp连接池为dao实现类分配Connection
根据数据表生成具有get和set方法的dto类
生成的dao接口具有add(),delete(),update(),get(),getAll()方法
生成的dao实现类根据数据表动态生成rowMapping()方法,增加了查找数据库的灵活性
以下功能将会在后期的版本中继续完善:
没有提供分页的方法模版
没有提供计数的方法模版
没有提供操作视图的dao模版
下面是Dz_Model 1.0.zip的文件结构,其中包括dz_model.jar,mysql数据库驱动包和三个dbcp包:
下载地址:
[img=http://download.csdn.net/source/3351848]Dz_Model 1.0 修正版[/img]
使用方法如下:
解压Dz_Model 1.0.zip文件
配置jar包里面的mysql.properties文件,其中包括生成的路径、包名称,数据库地址、用户名、密码和驱动
运行cmd,进入到该路径,执行java -jar dz_model.jar命令
最后就可以到你设置的路径下去取生成的类了
生成的dao通过以下代码来调用:
Java code
?
1
2
3
4
5
6
7
8
9
|
DaoFactory factory = DaoFactory.getInstance();
UserDao userDao = factory.getUserDao();
User user = newUser();
user.setAge(1);
user.setName("test_dz_model");
user.setUsername("test_dz_model");
user.setPassword("test");
user.setBirthday(newDate());
userDao.add(user); |
以上就是小弟写的一个小小的工具包,希望对各位java开发人员能够起到一点点帮助,也希望各位大虾们能给小弟多提宝贵意见,多谢!
补充一句:对于许多Java初学者来说这个工具生成的代码可以参考,一定要自己写,不要直接用工具生成的,不然对你们的成长没有好处……