MyBatis Generate的使用及說(shuō)明
MyBatis Generate
MyBatis Generate可以理解為一個(gè)插件,可以幫助你使用SSM框架,根據(jù)數(shù)據(jù)庫(kù)中的表,自動(dòng)的生成JavaBean文件、對(duì)應(yīng)的mapper接口、以及對(duì)應(yīng)的mapper配置文件中大部分查詢(xún)語(yǔ)句
要想使用MyBatis Generate
首先需要導(dǎo)入相應(yīng)的依賴(lài)
<!--mybatis Generator插件-->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
</dependency>使用MyBatis Generate
還需要?jiǎng)?chuàng)建相對(duì)應(yīng)的配置文件
我們從官網(wǎng)上復(fù)制一段配置文件,在根據(jù)自己的項(xiàng)目進(jìn)行修改
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--
targetRuntime="MyBatis3Simple":生成簡(jiǎn)單版的CRUD
MyBatis3:豪華版
MyBatis3DynamicSql:默認(rèn)值,小黃現(xiàn)在的水平,只能看懂大概是以注解形式來(lái)代替mapper配置文件
-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<!--設(shè)置數(shù)據(jù)庫(kù)連接屬性-->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC
&characterEncoding=utf-8
&useSSL=false
&rewriteBatchedStatements=true
&allowPublicKeyRetrieval=true"
userId="root"
password="Hkx123">
</jdbcConnection>
<!--設(shè)置類(lèi)型解析器-->
<javaTypeResolver >
<!--舉例:是否強(qiáng)制轉(zhuǎn)換為bigdecimal,否-->
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!--
javaModelGenerator:指定生成的JavaBean文件
targetPackage:目標(biāo)包名
targetProject:目標(biāo)工程
-->
<javaModelGenerator targetPackage="com.yellowstar.ssm.bean" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- sqlMapGenerator:sql映射生成策略: -->
<sqlMapGenerator targetPackage="mybatis.mapper" targetProject="src\main\resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- javaClientGenerator:指定mapper接口所在的位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.yellowstar.ssm.dao" targetProject="src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 指定要逆向分析哪些表:根據(jù)表要?jiǎng)?chuàng)建javaBean -->
<table tableName="department" domainObjectName="Department"></table>
<table tableName="employee" domainObjectName="Employee"></table>
</context>
</generatorConfiguration>生成文件
可以通過(guò)以下方法生成所對(duì)應(yīng)的文件
@Test
public void testMbg() throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile = new File("src/main/resources/mbg.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
callback, warnings);
myBatisGenerator.generate(null);
}
設(shè)置targetRuntime=“MyBatis3”,來(lái)看一下生成的文件以及目錄,我們發(fā)現(xiàn)每個(gè)對(duì)應(yīng)的JavaBean都會(huì)自動(dòng)生成一個(gè)Example后綴的類(lèi),而如果使用MyBatis3Simple是沒(méi)有的,這個(gè)文件可以為我們提供更強(qiáng)大的增刪改查功能,我們來(lái)看一下具體的使用


public List<Employee> getAllEmps(){
EmployeeExample employeeExample = new EmployeeExample();
//criteria可以設(shè)置sql的過(guò)濾語(yǔ)句,用and連接
Criteria criteria = employeeExample.createCriteria();
criteria.andLastNameLike("%e%");
criteria.andGenderEqualTo("1");
//每個(gè)criteria1對(duì)象之間用or連接
Criteria criteria1 = employeeExample.createCriteria();
criteria1.andDIdEqualTo(2);
employeeExample.or(criteria1);
List<Employee> allEmps = empMapperImpl.selectByExample(employeeExample);
return allEmps;
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Mybatis配置useGeneratedKeys參數(shù)的方式
- MyBatis主鍵生成策略中useGeneratedKeys和<selectKey>的區(qū)別
- 解決MybatisPlus批量插入數(shù)據(jù)報(bào)錯(cuò):Error getting generated key or setting result to parameter object問(wèn)題
- myBatis使用@GeneratedValue(generator?=?“...“,?strategy?=?...)注解
- Mybatis使用useGeneratedKeys獲取自增主鍵
- Mybatis useGeneratedKeys參數(shù)用法及問(wèn)題小結(jié)
相關(guān)文章
SpringBoot3中數(shù)據(jù)庫(kù)集成實(shí)踐詳解
項(xiàng)目工程中,集成數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的增曬改查管理,是最基礎(chǔ)的能力,所以下面小編就來(lái)和大家講講SpringBoot3如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)集成,需要的可以參考下2023-08-08
minio的下載和springboot整合minio使用方法
本文介紹了如何通過(guò)Docker拉取MinIO鏡像,并創(chuàng)建MinIO容器的過(guò)程,首先,需要在本地創(chuàng)建/data和/conf兩個(gè)目錄用于掛載MinIO的數(shù)據(jù)和配置文件,接下來(lái),通過(guò)docker?run命令啟動(dòng)容器,設(shè)置MinIO的訪問(wèn)端口、用戶(hù)名、密碼等信息,感興趣的朋友一起看看吧2024-09-09
mybatis Plus 多表聯(lián)合查詢(xún)的實(shí)現(xiàn)示例
這篇文章主要介紹了mybatis Plus 多表聯(lián)合查詢(xún)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java線(xiàn)程協(xié)作的兩種方式小結(jié)
Java中線(xiàn)程協(xié)作的最常見(jiàn)的兩種方式是利用Object.wait()、Object.notify()和使用Condition,本文主要介紹了Java線(xiàn)程協(xié)作的兩種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
SpringCache常用注解及key中參數(shù)值為null問(wèn)題解析
這篇文章主要介紹了SpringCache常用注解及key中參數(shù)值為null的問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
idea移除子模塊實(shí)現(xiàn)Moudle后重新導(dǎo)入
文章介紹了如何在項(xiàng)目中重新添加一個(gè)移除的模塊,提供了兩種方法:通過(guò)Project Structure導(dǎo)入模塊或手動(dòng)創(chuàng)建package并進(jìn)行修改2026-02-02
淺談Servlet開(kāi)發(fā)技術(shù)基礎(chǔ)
這篇文章主要介紹了淺談Servlet開(kāi)發(fā)技術(shù)基礎(chǔ),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Springboot微服務(wù)打包Docker鏡像流程解析
這篇文章主要介紹了Springboot微服務(wù)打包Docker鏡像流程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

