首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

MyBatis Generator 代碼生成與應用實戰指南

     編輯:Java 相關知識

為什麼需要 MyBatis?

MyBatis 是一款優秀的 Java ORM 框架。傳統開發中,業務邏輯與 SQL 查詢混雜,導致開發效率低下。ORM 框架將資料表映射為 Java 對象,操作資料庫時只需操作對象屬性,大幅簡化開發流程。

MyBatis Generator 的價值

雖然 MyBatis 簡化了持久層開發,但手寫 XML 配置繁瑣且易出錯。MyBatis Generator 應運而生,只需簡單配置即可批量生成實體類、Mapper 接口及 XML 文件,速度快且不易出錯,讓開發者專注於業務邏輯。

生成文件結構

Generator 會生成四類文件:

  • Model 實體類:每張表對應一個實體
  • ModelExample 類:用於構建動態查詢條件
  • Mapper 接口:定義資料操作方法
  • Mapper XML 配置文件:包含具體 SQL 語句

配置好生成路徑與包名後,即可自動生成完整目錄結構。

核心用法示例

依賴注入 Mapper

@Autowired
private BlackListIPMapper blackListipMapper;

條件查詢

public BlackListIP get(String ip) {
    BlackListIPExample example = new BlackListIPExample();
    example.createCriteria().andIpEqualTo(ip);
    List<BlackListIP> list = blackListipMapper.selectByExample(example);
    return (list != null && !list.isEmpty()) ? list.get(0) : null;
}

排序與分頁

// 排序
example.setOrderByClause("CREATE_TIME desc");

// 分頁
example.setLimitClauseStart(pageInfo.getPageStart());
example.setLimitClauseCount(pageInfo.getPageCount());
List<Account> list = accountMapper.selectByExample(example);
int total = accountMapper.countByExample(example);

複雜條件構建

Generator 不支援 Join 查詢,需手動添加。例如實現 a=x and (b=xx or b=xxx):

AccountExample example = new AccountExample();
Criteria criteria = example.createCriteria().andTypeEqualTo("4");
criteria.addCriterion(String.format(" (ID=%d or ID=%d) ", 34, 35));

需修改 Generator 源碼將 Example 類的 Criteria 方法改為 public 可见性。

總結

MyBatis Generator 大幅提升開發效率,配合分頁、批量操作等插件,能滿足大多數業務場景。建議將常用配置整合至項目模板中,進一步提升團隊協作效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved