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ù)類型)的再說(shuō)明
(1)傳入簡(jiǎn)單類型,比如按照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è)語(yǔ)句,注意${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來(lái)實(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)文章
使用注解解決ShardingJdbc不支持復(fù)雜SQL方法
這篇文章主要為大家介紹了使用注解解決ShardingJdbc不支持復(fù)雜SQL方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
解決Mybatis-plus和pagehelper依賴沖突的方法示例
這篇文章主要介紹了解決Mybatis-plus和pagehelper依賴沖突的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SpringBoot集成Druid監(jiān)控慢SQL的詳細(xì)過(guò)程
數(shù)據(jù)庫(kù)連接池是一個(gè)至關(guān)重要的組成部分,一個(gè)優(yōu)秀的數(shù)據(jù)庫(kù)連接池可以顯著提高應(yīng)用程序的性能和可伸縮性,常見的連接池:Druid、HikariCP、C3P0、DBCP等等,本文將詳細(xì)介紹如何在Spring Boot項(xiàng)目中配置數(shù)據(jù)源,集成Druid連接池,以實(shí)現(xiàn)更高效的數(shù)據(jù)庫(kù)連接管理2024-06-06
java微信開發(fā)API第三步 微信獲取以及保存接口調(diào)用憑證
這篇文章主要為大家詳細(xì)介紹了java微信開發(fā)API第二步,微信獲取以及保存接口調(diào)用憑證,感興趣的小伙伴們可以參考一下2016-06-06
SpringBoot管理RabbitMQ中的Channel詳解
這篇文章主要介紹了SpringBoot管理RabbitMQ中的Channel詳解,channel僅存在于connection的上下文中,而不會(huì)單獨(dú)存在,當(dāng)channel關(guān)閉時(shí),其上的所有channel也會(huì)關(guān)閉,需要的朋友可以參考下2023-08-08
使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼
這篇文章主要介紹了使用?mybatis?自定義日期類型轉(zhuǎn)換器的示例代碼,這里使用mybatis中的typeHandlers?實(shí)現(xiàn)的,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
Java過(guò)濾器doFilter里chain.doFilter()函數(shù)的理解
這篇文章主要介紹了Java過(guò)濾器doFilter里chain.doFilter()函數(shù)的理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

