关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 9237|回复: 0

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

[复制链接]
发表于 2013-11-26 16:37:40 | 显示全部楼层 |阅读模式
MiniDao简介及特征

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

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

  • 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"));   
  •     }   
  • }   
  • }   


技术交流


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表