MiniDao Framework 1.3.0 发布,J2EE持久化解决方案

MiniDao是一款J2EE持久层解决方案,结合了Hibernate和Mybatis的优点,支持实体维护和SQL分离,无需XML配置,简化了SQL与Java代码的耦合。支持SQL自动生成,具备事务处理功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MiniDao简介及特征

MiniDao是J2EE持久化解决方案,摆脱了hibernate笨重和Mybatis的繁琐,同时具备了实体维护和SQL分离的两大优点,拟补了mybatis和hibernate的不足。 主要具有以下特征:

  • O/R mapping不用设置xml,零配置便于维护
  • 不需要了解JDBC的知识
  • SQL语句和java代码的分离
  • 可以自动生成SQL语句
  • 接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
  • 支持自动事务处理和手动事务处理
  • 支持与hibernate轻量级无缝集成
  • MiniDao吸收了Hibernate+mybatis的两大优势,支持实体维护和SQL分离
  • SQL支持脚本语言

详细地址:http://zhangdaiscott.github.io/MiniDao/
源码下载地址:http://zhangdaiscott.github.io/MiniDao/

MiniDao VS mybatis :http://blog.youkuaiyun.com/zhangdaiscott/article/details/11489885

※ 实体的增删改查不需要写sql,支持SQL自动生成

————————————————————————————————————————

version:minidao-framework-1.3.0
date: 2013-11-26
作者: 张代浩
联系邮箱:scott@jeecg.com
————————————————————————————————————————

新版本改进包括:

  • 项目切换为maven工程
  • 返回的key大小参数设置,SQL格式化参数
  • 添加sql数据参数,支持sql批处理
  • dao接口支持扫描自动加载
  • 防止sql注入

接口和SQL文件对应目录

接口定义[EmployeeDao.java]


Java代码
  1. publicinterfaceEmployeeDao{
  2. @Arguments("employee")
  3. publicList<Map>getAllEmployees(Employeeemployee);
  4. @Arguments("empno")
  5. EmployeegetEmployee(Stringempno);
  6. @Arguments({"empno","name"})
  7. MapgetMap(Stringempno,Stringname);
  8. @Sql("SELECTcount(*)FROMemployee")
  9. IntegergetCount();
  10. @Arguments("employee")
  11. intupdate(Employeeemployee);
  12. @Arguments("employee")
  13. voidinsert(Employeeemployee);
  14. }
SQL文件[EmployeeDao_getAllEmployees.sql]

Java代码
  1. SELECT*FROMemployeewhere1=1
  2. <#ifemployee.age?exists>
  3. andage=:employee.age
  4. </#if>
  5. <#ifemployee.name?exists>
  6. andname=:employee.name
  7. </#if>
  8. <#ifemployee.empno?exists>
  9. andempno=:employee.empno
  10. </#if>

测试代码

Java代码
  1. publicclassClient{
  2. publicstaticvoidmain(Stringargs[]){
  3. BeanFactoryfactory=newClassPathXmlApplicationContext(
  4. "applicationContext.xml");
  5. EmployeeDaoemployeeDao=(EmployeeDao)factory.getBean("employeeDao");
  6. Employeeemployee=newEmployee();
  7. List<Map>list=employeeDao.getAllEmployees(employee);
  8. for(Mapmp:list){
  9. System.out.println(mp.get("id"));
  10. System.out.println(mp.get("name"));
  11. System.out.println(mp.get("empno"));
  12. System.out.println(mp.get("age"));
  13. System.out.println(mp.get("birthday"));
  14. System.out.println(mp.get("salary"));
  15. }
  16. }
  17. }

技术交流

  • 作者: 张代浩
  • 技术论坛:www.jeecg.org
  • 邮箱: zhangdaiscott@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值