日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

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

發布時間:2025/3/16 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MiniDao1.8.3 版本发布,轻量级Java持久化框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目介紹

MiniDao 是一款輕量級JAVA持久層框架,基于 SpringJdbc + freemarker 實現,具備Mybatis一樣的SQL分離和邏輯標簽能力。Minidao產生的初衷是為了解決Hibernate項目,在復雜SQL具備Mybatis一樣的靈活能力,同時支持事務同步。

當前版本:v1.8.3 | 2021-08-09

源碼下載

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

升級日志

  • 數據庫分頁方言重構支持含常規、國產、大數據等28種數據庫
數據庫支持
MySQL
Oracle、Oracle9i
SqlServer、SqlServer2012
PostgreSQL
DB2、Informix
MariaDB
SQLite、Hsqldb、Derby、H2
達夢、人大金倉、神通
華為高斯、虛谷、瀚高數據庫
阿里云PolarDB、PPAS、HerdDB
Hive、HBase、CouchBase
  • 數據庫實現自動適配不再需要手工配置DB類型
  • 解決上個版本重構后,不支持SqlServer分頁問題
  • debug模式下,解決報錯: Minidao報錯“Template java/lang/Object_toString.sql not found”
  • ID支持主鍵策略自動生成 @TableId(type = IdType.UUID)
  • @TableId 支持uuid(默認)\AUTO(自增)\ID_WORKER(雪花ID)\ID_SEQ(序列seq,必須配置seqName)四種主鍵策略

技術文檔

  • 技術官網: http://www.jeecg.com
  • 技術文檔: https://minidao.mydoc.io
  • 如何快速集成minidao

MiniDao特征

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]

@MiniDao public interface EmployeeDao {@Arguments({ "employee"})@Sql("select * from employee")List<Map<String,Object>> getAll(Employee employee);@Sql("select * from employee where id = :id")Employee get(@Param("id") String id);@Sql("select * from employee where empno = :empno and name = :name")Map getMap(@Param("empno")String empno,@Param("name")String name);@Sql("SELECT count(*) FROM employee")Integer getCount();int update(@Param("employee") Employee employee);void insert(@Param("employee") Employee employee);@ResultType(Employee.class)public MiniDaoPage<Employee> getAll(@Param("employee") Employee employee,@Param("page") int page,@Param("rows") int rows);

}

2. 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>

3. 接口和SQL文件對應目錄

4. 測試代碼

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();String id = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();employee.setId(id);employee.setEmpno("A001");employee.setSalary(new BigDecimal(5000));employee.setBirthday(new Date());employee.setName("scott");employee.setAge(25);//調用minidao方法插入employeeDao.insert(employee); } }

總結

以上是生活随笔為你收集整理的MiniDao1.8.3 版本发布,轻量级Java持久化框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。