为了解决多数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包: 下载地址: 使用方法如下:    解压Dz_Model 1.0.zip文件
    配置jar包里面的mysql.properties文件,其中包括生成的路径、包名称,数据库地址、用户名、密码和驱动
    运行cmd,进入到该路径,执行java -jar dz_model.jar命令
    最后就可以到你设置的路径下去取生成的类了生成的dao通过以下代码来调用:
  DaoFactory factory = DaoFactory.getInstance();
  UserDao userDao = factory.getUserDao();
  User user = new User();
  user.setAge(1);
  user.setName("test_dz_model");
  user.setUsername("test_dz_model");
  user.setPassword("test");
  user.setBirthday(new Date());
  userDao.add(user);
以上就是小弟写的一个小小的工具包,希望对各位java开发人员能够起到一点点帮助,也希望各位大虾们能给小弟多提宝贵意见,多谢!补充一句:对于许多Java初学者来说这个工具生成的代码可以参考,一定要自己写,不要直接用工具生成的,不然对你们的成长没有好处……

解决方案 »

  1.   

    下载地址:
    http://download.csdn.net/detail/dzr1990/3351848不好意思,本来是用超链接修饰那个下载地址的,不知道是忘记了还是没成功……
      

  2.   

    为了解决多数JavaEE开发人员在写dao的时候代码量太大的问题,小弟不才,最近自己写了一个dao的自动生成工具—Dz_Model 1.0,生成出来的dao使用dbcp连接池技术来操作数据库,经过测试,这个jar包是可以运行起来的,现在小弟就把这个工具jar包共享给大家,希望能够给大家在做JavaEE开发的时候提供方便。  
      

  3.   

    其实,没有必要每个实体类都有DAO,可以设计一个通用的DAO,实现通用的增、删、改、查方法可以一起交流下QQ:584783469
      

  4.   

    看不到附件 ,楼主可否到我邮箱啊  我想学习学习。[email protected]
      

  5.   

    我用的时候 是用的hibernate反向生成的。
    其实我也想做这个东西。
    因为CRUD 写的又多,又浪费时间。
    其实很不划算;。
    Hibernate 也有DAO生成的。
    不过总是不喜欢~
      

  6.   

    请参看spring-data项目之jpa,jdbc  ,定义了dao接口和查询语句,就都不管了,运行期自动注入dao
      

  7.   

    http://topic.csdn.net/u/20110929/09/2d6e075a-9a8a-4e9e-9b15-0a80ec94210f.html
      

  8.   

    这样的DAO自动生成工具只能生成简单的增删改查代码吧,对于逻辑复杂的操作起不到效果