MyBatis中的mapper.xml配置教程
1、配置獲取添加對(duì)象的ID
<!-- 配置我們的添加方法,獲取到新增加了一個(gè)monster對(duì)象的id
useGeneratedKeys="true" 意思是需要獲取新加對(duì)象的主鍵值
keyProperty="monster_id" 表示將獲取到的id值賦值給Monster對(duì)象的monster_id屬性
-->
<insert id="addMonster" parameterType="Monster"
useGeneratedKeys="true" keyProperty="monster_id">
INSERT INTO mybatis_monster_ (monster_id,age,birthday,email,gender,name,salary)
VALUES (#{monster_id},#{age},#{birthday},#{email},#{gender},#{name},#{salary})
</insert> @Test
public void testAdd() {
Monster monster = new Monster();
for(int i=10;i<20;i++) {
monster.setAge(100+i);
monster.setBirthday(new Date());
monster.setEmail("123@qq.com");
monster.setGender(1);
monster.setSalary(8928.00);
monster.setName("銀角"+i);
monsterMapper.addMonster(monster);
System.out.println("獲取添加的對(duì)象id" + monster.getMonster_id());
}
}2.parameterType(輸入?yún)?shù)類型)的再說明
(1)傳入簡單類型,比如按照id查Person (單條件查詢)
(2)傳入POJQ類型,查詢時(shí)需要有多個(gè)篩選條件(將多個(gè)條件封裝到pojo中,將pojo作為參數(shù)傳入)
比如 請(qǐng)查詢monster_id =1或者 name='白骨精'的妖怪.
注意:當(dāng)有多個(gè)條件時(shí),傳入的參數(shù)就是Pojo類型的Java對(duì)象,比如這里的Monster對(duì)象,
2.1如何模糊查詢
當(dāng)我們傳入的是String時(shí),可以使用 ${}接收參數(shù)
首先,在MonsterMapper中,寫這個(gè)方法, 查詢名字當(dāng)中含有“狐貍精”的妖怪
public Monster findByName(String name);
然后,映射文件中寫這個(gè)語句,注意${name}
<select id="findByName" resultType="com.bin.mybatis.entity.Monster" parameterType="String">
SELECT * FROM mybatis_monster_
WHERE name like '%${name}%'
</select>3、實(shí)現(xiàn)參數(shù)是HashMap
我們可以使用HashMap來實(shí)現(xiàn)多條件的查詢
// 查詢id>10而且salary大于40的所有妖怪
public List<Monster> findMonsterByIdAndSalary(Map<String,Object> map); <select id="findMonsterByIdAndSalary" resultType="com.bin.mybatis.entity.Monster" parameterType="Map">
SELECT * FROM mybatis_monster_
WHERE monster_id>#{monster_id} AND salary>#{salary}
</select> @Test
public void findMonsterByIdAndSalary(){
Map<String, Object> map = new HashMap<String,Object>();
map.put("monster_id", 6);
map.put("salary", 1234);
List<Monster> monsterList = monsterMapper.findMonsterByIdAndSalary(map);
for (Monster monster : monsterList) {
System.out.println(monster);
}
}4、返回參數(shù)是map
// 查詢id>10而且salary大于40的所有妖怪
// 第二種寫法:參數(shù)和返回類型都是Map
public Map<String,Object> findMonsterByIdAndSalary2(Map<String,Object> map); <select id="findMonsterByIdAndSalary2" resultType="Map" parameterType="Map">
SELECT * FROM mybatis_monster_
WHERE monster_id>#{monster_id} AND salary>#{salary}
</select>
@Test
public void findMonsterByIdAndSalary(){
Map<String, Object> map = new HashMap<String,Object>();
map.put("monster_id", 6);
map.put("salary", 1234);
List<Monster> monsterList = monsterMapper.findMonsterByIdAndSalary(map);
for (Monster monster : monsterList) {
System.out.println(monster);
}
}到此這篇關(guān)于MyBatis中的mapper.xml配置的文章就介紹到這了,更多相關(guān)MyBatis mapper.xml配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring cloud gateway請(qǐng)求跨域問題解決方案
這篇文章主要介紹了spring cloud gateway請(qǐng)求跨域問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
關(guān)于idea更新到2020.2.3無法創(chuàng)建web項(xiàng)目原因 library is not specified
這篇文章主要介紹了關(guān)于idea更新到2020.2.3無法創(chuàng)建web項(xiàng)目原因 library is not specified,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Java阻塞延遲隊(duì)列DelayQueue原理及使用詳解
這篇文章主要介紹了Java阻塞延遲隊(duì)列DelayQueue原理及使用詳解,阻塞隊(duì)列是一個(gè)支持兩個(gè)附加操作的隊(duì)列,這兩個(gè)附加的操作是:在隊(duì)列為空時(shí),從隊(duì)列中獲取元素的消費(fèi)者線程會(huì)一直等待直到隊(duì)列變?yōu)榉强?需要的朋友可以參考下2023-12-12
MyBatis-Plus使用動(dòng)態(tài)表名分表查詢的實(shí)現(xiàn)
本文主要介紹了MyBatis-Plus使用動(dòng)態(tài)表名分表查詢,主要是動(dòng)態(tài)修改表名的幾種常見場景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-11-11
Java線程通訊的實(shí)現(xiàn)方法總結(jié)
線程通訊指的是多個(gè)線程之間通過共享內(nèi)存或消息傳遞等方式來協(xié)調(diào)和同步它們的執(zhí)行,線程通訊的實(shí)現(xiàn)方式主要有以下兩種:共享內(nèi)存和消息傳遞,本文詳細(xì)介紹了Java線程是如何通訊的,感興趣的同學(xué)可以參考閱讀2023-05-05
Java如何使用正則表達(dá)式從字符串中提取數(shù)字
這篇文章主要介紹了Java如何使用正則表達(dá)式從字符串中提取數(shù)字問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
深入分析Spring Cloud 負(fù)載均衡器架構(gòu)選型
文章詳細(xì)介紹了OpenFeign的初始化和執(zhí)行流程,包括FeignClient注解、FeignClientsRegistrar類、FeignClientFactoryBean工廠類、Targeter接口及其實(shí)現(xiàn)等,感興趣的朋友一起看看吧2024-12-12

