| 
 MiniDao简介及特征  
 
MiniDao是J2EE持久化解决方案,摆脱了hibernate笨重和Mybatis的繁琐,同时具备了实体维护和SQL分离的两大优点,拟补了mybatis和hibernate的不足。  主要具有以下特征:   
- O/R mapping不用设置xml,零配置便于维护
 - 不需要了解JDBC的知识
 - SQL语句和java代码的分离
 - 可以自动生成SQL语句
 - 接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
 - 支持自动事务处理和手动事务处理
 - 支持与hibernate轻量级无缝集成
 - MiniDao 吸收了Hibernate+mybatis的两大优势,支持实体维护和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代码  
 
- 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]  
 
 
Java代码  
 
- 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>    
 
 
  
  
 
测试代码   
 
Java代码  
 
- 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"));    
 -     }    
 - }    
 - }    
 
 
  
  
技术交流  
 
  
 |