MyBatis中的mapper.xml配置教程
1、配置獲取添加對象的ID
<!-- 配置我們的添加方法,獲取到新增加了一個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類型,查詢時需要有多個篩選條件(將多個條件封裝到pojo中,將pojo作為參數(shù)傳入)
比如 請查詢monster_id =1或者 name='白骨精'的妖怪.
注意:當有多個條件時,傳入的參數(shù)就是Pojo類型的Java對象,比如這里的Monster對象,
2.1如何模糊查詢
當我們傳入的是String時,可以使用 ${}接收參數(shù)
首先,在MonsterMapper中,寫這個方法, 查詢名字當中含有“狐貍精”的妖怪
public Monster findByName(String name);
然后,映射文件中寫這個語句,注意${name}
<select id="findByName" resultType="com.bin.mybatis.entity.Monster" parameterType="String">
SELECT * FROM mybatis_monster_
WHERE name like '%${name}%'
</select>3、實現(xiàn)參數(shù)是HashMap
我們可以使用HashMap來實現(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);
}
}到此這篇關于MyBatis中的mapper.xml配置的文章就介紹到這了,更多相關MyBatis mapper.xml配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
spring cloud gateway請求跨域問題解決方案
這篇文章主要介紹了spring cloud gateway請求跨域問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01
關于idea更新到2020.2.3無法創(chuàng)建web項目原因 library is not specified
這篇文章主要介紹了關于idea更新到2020.2.3無法創(chuàng)建web項目原因 library is not specified,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
MyBatis-Plus使用動態(tài)表名分表查詢的實現(xiàn)
本文主要介紹了MyBatis-Plus使用動態(tài)表名分表查詢,主要是動態(tài)修改表名的幾種常見場景,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-11-11

