MiniDao1.7.1 版本发布,轻量级Java持久化框架

架构 2023-07-05 17:29:38
211阅读

项目简介

MiniDao 是一款轻量JAVA持久层架构,根据 SpringJdbc Freemarker 完成,具有Mybatis一样的SQL分离出来和逻辑性标识工作能力。Minidao造成的初心是为了更好地处理Hibernate新项目,在繁杂SQL具有Mybatis一样的灵便工作能力,另外适用事务管理同歩。

当今版本号:v1.7.1 | 2021-03-29

网站源码下载

  • https://github.com/zhangdaiscott/MiniDao
  • https://gitee.com/jeecg/minidao

升級日志

  • 升級spring版本号到5.2.10.RELEASE
  • 升級freemarker版本号到2.3.30
  • 出示代码生成器专用工具,迅速转化成dao和sql
  • 提升非分布式锁字段名标识注释
  • 提升小雪花分布式系统ID转化成java工具
  • 出示springboot2迅速集成化starter

技术资料

  • 技术性官方网站: http://www.jeecg.com
  • 技术资料: https://minidao.mydoc.io
  • 迅速集成化文本文档:https://minidao.mydoc.io/?t=336070

MiniDao特点

 
  1. An powerful enhanced toolkit of SpringJdbc for simplify development 

具备下列特点:

  • O/R mapping无需设定xml,零配备便于维护保养
  • 不用掌握JDBC的专业知识
  • SQL句子和java编码的分离出来
  • 只需接口标准,不用插口完成
  • SQL适用开发语言(强劲开发语言,freemarker英语的语法)
  • 适用与hibernate轻量无缝拼接集成化
  • 适用全自动事务管理和手动式事务管理
  • 特性好于Mybatis
  • 比Mybatis更简易实用
  • SQL 适用注释方法
  • SQL 适用单独文档方法,SQL文档的命名规范: 类名_方式名;
  • SQL文档更非常容易精准定位,便捷中后期维护保养,新项目越大此优点越显著
  • SQL标识选用Freemarker的基本上英语的语法

编码感受

1. 接口标准[EmployeeDao.java]

 
  1. @MiniDao 
  2. public interface EmployeeDao { 
  3.  
  4.  @Arguments({ "employee"}) 
  5.  @Sql("select * from employee"
  6.  List<Map<String,Object>> getAll(Employee employee); 
  7.  
  8.  @Sql("select * from employee where id = :id"
  9.  Employee get(@Param("id") String id); 
  10.  
  11.  @Sql("select * from employee where empno = :empno and  name = :name"
  12.  Map getMap(@Param("empno")String empno,@Param("name")String name); 
  13.  
  14.  @Sql("SELECT count(*) FROM employee"
  15.  Integer getCount(); 
  16.  
  17.  int update(@Param("employee") Employee employee); 
  18.  
  19.  void insert(@Param("employee") Employee employee); 
  20.   
  21.  @ResultType(Employee.class) 
  22.  public MiniDaoPage<Employee> getAll(@Param("employee") Employee employee,@Param("page")  int page,@Param("rows"int rows); 

 2. SQL文档

[EmployeeDao_getAllEmployees.sql]

 
  1. SELECT * FROM employee where 1=1  
  2. <#if employee.age ?exists> 
  3. and age = :employee.age 
  4. </#if> 
  5. <#if employee.name ?exists> 
  6. and name = :employee.name 
  7. </#if> 
  8. <#if employee.empno ?exists> 
  9. and empno = :employee.empno 
  10. </#if> 

 3. 插口和SQL文档相匹配文件目录

4. 测试程序

 
  1. public class Client { 
  2. public static void main(String args[]) { 
  3.  BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml"); 
  4.  EmployeeDao employeeDao = (EmployeeDao) factory.getBean("employeeDao"); 
  5.  Employee employee = new Employee(); 
  6.  String id = UUID.randomUUID().toString().replaceAll("-""").toUpperCase(); 
  7.  employee.setId(id); 
  8.  employee.setEmpno("A001"); 
  9.  employee.setSalary(new BigDecimal(5000)); 
  10.  employee.setBirthday(new Date()); 
  11.  employee.setName("scott"); 
  12.  employee.setAge(25); 
  13.  //启用minidao方式插进 
  14.  employeeDao.insert(employee); 
the end
免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。