MyBatis中的mapper.xml配置教程
1、配置獲取添加對象的ID
<!-- 配置我們的添加方法,獲取到新增加了一個(gè)monster對象的id useGeneratedKeys="true" 意思是需要獲取新加對象的主鍵值 keyProperty="monster_id" 表示將獲取到的id值賦值給Monster對象的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("獲取添加的對象id" + monster.getMonster_id()); } }
2.parameterType(輸入?yún)?shù)類型)的再說明
(1)傳入簡單類型,比如按照id查Person (單條件查詢)
(2)傳入POJQ類型,查詢時(shí)需要有多個(gè)篩選條件(將多個(gè)條件封裝到pojo中,將pojo作為參數(shù)傳入)
比如 請查詢monster_id =1或者 name='白骨精'的妖怪.
注意:當(dāng)有多個(gè)條件時(shí),傳入的參數(shù)就是Pojo類型的Java對象,比如這里的Monster對象,
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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用注解解決ShardingJdbc不支持復(fù)雜SQL方法
這篇文章主要為大家介紹了使用注解解決ShardingJdbc不支持復(fù)雜SQL方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09解決Mybatis-plus和pagehelper依賴沖突的方法示例
這篇文章主要介紹了解決Mybatis-plus和pagehelper依賴沖突的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04SpringBoot集成Druid監(jiān)控慢SQL的詳細(xì)過程
數(shù)據(jù)庫連接池是一個(gè)至關(guān)重要的組成部分,一個(gè)優(yōu)秀的數(shù)據(jù)庫連接池可以顯著提高應(yīng)用程序的性能和可伸縮性,常見的連接池:Druid、HikariCP、C3P0、DBCP等等,本文將詳細(xì)介紹如何在Spring Boot項(xiàng)目中配置數(shù)據(jù)源,集成Druid連接池,以實(shí)現(xiàn)更高效的數(shù)據(jù)庫連接管理2024-06-06java微信開發(fā)API第三步 微信獲取以及保存接口調(diào)用憑證
這篇文章主要為大家詳細(xì)介紹了java微信開發(fā)API第二步,微信獲取以及保存接口調(diào)用憑證,感興趣的小伙伴們可以參考一下2016-06-06SpringBoot管理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)的,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03Java過濾器doFilter里chain.doFilter()函數(shù)的理解
這篇文章主要介紹了Java過濾器doFilter里chain.doFilter()函數(shù)的理解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11