2. MyBatis-CRUD
示例
UserMapper.xml
<mapper namespace="com.indi.dao.UserMapper">
<!--
namespace 繫結一個對應的Mapper
id 對應Mapper的方法名
parameterType 引數型別
resultType SQL語句的返回值
引數用#{}填寫
-->
<select id="getUserList" resultType="com.indi.pojo.User">
select * from mybatis.user;
</select>
<select id="getUserById" resultType="com.indi.pojo.User" parameterType="int">
select * from mybatis.user where id = #{id}
</select>
<!--物件中的屬性,直接寫-->
<insert id="addUser" parameterType="com.indi.pojo.User">
insert into mybatis.user(id, name, pwd) value (#{id},#{name},#{pwd});
</insert>
<update id="updateUser" parameterType="com.indi.pojo.User">
update mybatis.user set name = #{name},pwd=#{pwd} where id =#{id};
</update>
<delete id="deleteUserById" parameterType="int">
delete from mybatis.user where id = #{id};
</delete>
</mapper>
增刪改操作完之後必須要提交事務!
萬能Map
如果實體類、或者資料庫中的表,欄位或者引數過多,應當考慮使用Map
UserMapper.java
public interface UserMapper {
int updateUserPassword(Map<String,Object> map);
}
UserMapper.xml
<update id="updateUserPassword" parameterType="map">
update mybatis.user set pwd=#{password} where id =#{id};
</update>
UserMapperTest.java
@Test
public void updateUserPassword() {
Map<String,Object> map = new HashMap<String, Object>();
map.put("id",5);
map.put("password","666330");
userMapper.updateUserPassword(map);
sqlSession.commit();
sqlSession.close();
}
parameterType="map"
,傳遞引數為Map時,直接在SQL中取出key即可parameterType="Object"
,傳遞引數為物件時,直接取物件的屬性即可parameterType=“int”
,可省略,只有一個基本型別的引數時,可直接在SQL中取到- 多個引數用Map,或註解
模糊查詢
- 在執行傳參的時候加上萬用字元
userMapper.getUserByName("%q%").forEach(System.out::println);
- 在SQL中加上萬用字元
<select id="getUserByName" resultType="com.indi.pojo.User">
select * from mybatis.user where name like "%"#{name}"%"
</select>
相關文章
- 2. Spring 概述Spring
- [Algorithm] 2. Trailing ZerosGoAIROS
- 2.基本規範
- 2.反向傳播反向傳播
- 前端 | 2. 正則前端
- 【PhpSelenium】2.基本使用PHP
- [PhpSelenium] 2.基本使用PHP
- 2. RequestMapping註解APP
- 2. GPIO讀寫
- 2. 兩數相加
- 2.攔截WebView事件WebView事件
- LeetCode 2. Add Two NumbersLeetCode
- 2. 瀏覽器控制瀏覽器
- leetcode 2. 兩數相加LeetCode
- 2. 效能調優概述
- Chapter 2. Video Formats and QualityAPTIDEORM
- 2.去除字元strip方法字元
- [Vue] Slots - 2. Scoped SlotsVue
- 2.語句結構
- 2. PostgreSQL 流複製SQL
- 2. 驗證器 Validator
- LeetCode 2.兩數相加LeetCode
- 2. 大資料基礎大資料
- 2. 湍流的統計描述
- 2.列表_元組_字典_集合
- 2. 指令碼、模組、包指令碼
- 2.系統定時器定時器
- 2. vite 構建專案Vite
- [PAT]2. 演算法初步演算法
- 2. 01揹包問題
- 【劍指offer】2.替換空格
- 2. React-Router的基本使用React
- 2. koa開發環境搭建開發環境
- 2. PHP 函式學習 stripos ()PHP函式
- 2. 揹包,佇列和棧佇列
- [LeetCode 刷題] 2. 兩數相加LeetCode
- 2. HttpRunnner錄製生成用例HTTP
- 2.常見父項屬性