MiniDao1.9.0 版本發(fā)布,輕量級Java持久化框架

項目介紹

MiniDao 是一款輕量級JAVA持久層框架唉锌,基于 SpringJdbc + freemarker 實現(xiàn)隅肥,具備Mybatis一樣的SQL分離和邏輯標簽能力。Minidao產(chǎn)生的初衷是為了解決Hibernate項目袄简,在復雜SQL具備Mybatis一樣的靈活能力腥放,同時支持事務(wù)同步。

當前版本:v1.9.0 | 2022-09-02

升級日志

  • 升級依賴版本號與jeecgboot版本號一致绿语,重點升級jsqlparser重構(gòu)了不兼容方法
  • 升級springframework依賴到5.3.18 秃症,與jeecgboot同步
  • 升級spring-boot-starter依賴到2.6.6 ,與jeecgboot同步
  • 升級javassist依賴到 3.25.0-GA
  • 升級jsqlparser依賴到 4.3
  • 升級ognl版本號解決報錯問題
  • 不支持SqlServer分頁問題
  • 支持用戶自定義數(shù)據(jù)源
  • SqlServer2012(derby用到)吕粹、PostgreSql种柑、神通、Hsql匹耕、mysql分頁優(yōu)化莹规,有分頁關(guān)鍵詞就用select包裹起來
  • 反射打破方法沒必要寫,去掉fields[j].setAccessible(true)
  • SQL Server表名關(guān)鍵字查詢失敗

技術(shù)文檔

MiniDao特征

An powerful enhanced toolkit of SpringJdbc for simplify development

具有以下特征:

  • O/R mapping不用設(shè)置xml泌神,零配置便于維護
  • 不需要了解JDBC的知識
  • SQL語句和java代碼的分離
  • 只需接口定義,無需接口實現(xiàn)
  • SQL支持腳本語言(強大腳本語言,freemarker語法)
  • 支持與hibernate輕量級無縫集成
  • 支持自動事務(wù)處理和手動事務(wù)處理
  • 性能優(yōu)于Mybatis
  • 比Mybatis更簡單易用
  • SQL 支持注解方式
  • SQL 支持獨立文件方式,SQL文件的命名規(guī)則: 類名_方法名; SQL文件更容易定位稼跳,方便后期維護态鳖,項目越大此優(yōu)勢越明顯
  • 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文件對應目錄

[圖片上傳失敗...(image-eb6db0-1662370219887)]

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);
    //調(diào)用minidao方法插入
    employeeDao.insert(employee);
}
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茫虽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌示启,老刑警劉巖浑槽,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒋失,死亡現(xiàn)場離奇詭異,居然都是意外死亡桐玻,警方通過查閱死者的電腦和手機篙挽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镊靴,“玉大人铣卡,你說我怎么就攤上這事∑梗” “怎么了煮落?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長踊谋。 經(jīng)常有香客問我蝉仇,道長,這世上最難降的妖魔是什么殖蚕? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任轿衔,我火速辦了婚禮,結(jié)果婚禮上嫌褪,老公的妹妹穿的比我還像新娘呀枢。我一直安慰自己,他們只是感情好笼痛,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布裙秋。 她就那樣靜靜地躺著,像睡著了一般缨伊。 火紅的嫁衣襯著肌膚如雪摘刑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天刻坊,我揣著相機與錄音枷恕,去河邊找鬼。 笑死谭胚,一個胖子當著我的面吹牛徐块,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灾而,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼胡控,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旁趟?” 一聲冷哼從身側(cè)響起昼激,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后橙困,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞧掺,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年凡傅,在試婚紗的時候發(fā)現(xiàn)自己被綠了辟狈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡像捶,死狀恐怖上陕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拓春,我是刑警寧澤释簿,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站硼莽,受9級特大地震影響庶溶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜懂鸵,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一偏螺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匆光,春花似錦套像、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至周崭,卻和暖如春柳譬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背续镇。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工美澳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摸航。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓制跟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酱虎。 傳聞我的和親對象是個殘疾皇子凫岖,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容