MiniDao:比Mybatis更灵活实用的J2EE持久层轻量方案
程序员文章站
2022-03-07 19:12:37
...
MiniDao简介及特征
MiniDao是Jeecg自己的持久化解决方案,集成了Hibernate实体维护和Mybaits SQL分离的两大优势。 具有以下特征:
源码下载地址:http://code.google.com/p/jeecg/downloads/list
※向下兼容Hibernate实体维护方式,实体的增删改查SQL自动生成
接口和SQL文件对应目录
接口定义[EmployeeDao.java]
SQL文件[EmployeeDao_getAllEmployees.sql]
测试代码
技术交流
MiniDao是Jeecg自己的持久化解决方案,集成了Hibernate实体维护和Mybaits SQL分离的两大优势。 具有以下特征:
- O/R mapping不用设置xml,零配置便于维护
- 不需要了解JDBC的知识
- SQL语句和java代码的分离
- 可以自动生成SQL语句
- 接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
- 支持自动事务处理和手动事务处理
- 支持与hibernate轻量级无缝集成
- MiniDao整合了Hibernate+mybatis的两大优势,支持实体维护和SQL分离
- SQL支持脚本语言
源码下载地址:http://code.google.com/p/jeecg/downloads/list
※向下兼容Hibernate实体维护方式,实体的增删改查SQL自动生成
接口和SQL文件对应目录
接口定义[EmployeeDao.java]
public interface EmployeeDao { @Arguments("employee") public List<Map> getAllEmployees(Employee employee); @Arguments("empno") Employee getEmployee(String empno); @Arguments({"empno","name"}) Map getMap(String empno,String name); @Sql("SELECT count(*) FROM employee") Integer getCount(); @Arguments("employee") int update(Employee employee); @Arguments("employee") void insert(Employee employee); }
SQL文件[EmployeeDao_getAllEmployees.sql]
SELECT * FROM employee where 1=1 <#if employee.age ?exists> and age = '${employee.age}' </#if> <#if employee.name ?exists> and name = '${employee.name}' </#if> <#if employee.empno ?exists> and empno = '${employee.empno}' </#if>
测试代码
public class Client { public static void main(String args[]) { BeanFactory factory = new ClassPathXmlApplicationContext( "applicationContext.xml"); EmployeeDao employeeDao = (EmployeeDao) factory.getBean("employeeDao"); Employee employee = new Employee(); List<Map> list = employeeDao.getAllEmployees(employee); for(Map mp:list){ System.out.println(mp.get("id")); System.out.println(mp.get("name")); System.out.println(mp.get("empno")); System.out.println(mp.get("age")); System.out.println(mp.get("birthday")); System.out.println(mp.get("salary")); } } }
技术交流
- 作者: 张代浩
- 技术论坛:www.jeecg.org
- 邮箱: zhangdaiscott@163.com
上一篇: session
下一篇: springMVC+mybatis分页