前言
相信大家在使用mybatis写mapper接口的时候,最常用且简单的方法就是增删改查了。我也是刚开始做项目,在本篇文章中,我将根据自己在vhr微人力项目中的mapper接口方法为实例,记录一下接口中常用的增删改查方法
1.insert
1.1 insert的使用
1.1.1 接口方法
int insert(Nation record);
1.1.2 SQL实现
<insert id="insert" parameterType="com.ku.vhr.model.Nation"> insert into vhr_project.nation (id, name) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}) </insert>
1.2 insert测试
1.2.1 测试代码
@Test public void insert(){// System.out.println(nationMapper); Nation nation = new Nation(); nation.setId(55); nation.setName("珞巴族"); int rows = nationMapper.insert(nation); System.out.println(rows); }insertTest1.2.2 测试结果
2.insertSelective
2.1 insertSelective的使用
2.1.1 接口方法
int insertSelective(Nation record);
2.1.2 SQL实现
<insert id="insertSelective" parameterType="com.ku.vhr.model.Nation"> <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> id, </if> <if test="name != null"> name </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> #{id,jdbcType=INTEGER}, </if> <if test="name != null"> #{name,jdbcType=VARCHAR} </if> </trim> </insert>insertSelective2.2 insertSelective测试
2.2.1 测试代码
@Test public void insertSelective(){ Nation nation = new Nation(); nation.setId(56); nation.setName("基诺族"); int rows = nationMapper.insertSelective(nation); System.out.println(rows); }insertSelectiveTest2.2.2 测试结果
3.deleteById
3.1 deleteById的使用
3.1.1 接口方法
int deleteById(Integer id);
3.1.2 SQL实现
<delete id="deleteById" paramentType="java.lang.Integer"> delete from vhr_project.nation where id = #{id,jdbcType=Integer}</delete>
3.2 deleteById测试
3.2.1 测试方法
@Test public void deleteById(){ int rows = nationMapper.deleteById(57); System.out.println(rows); }4.updateById
4.1 updateById的使用
4.1.1 接口方法
int updateById(Nation record);
4.1.2 SQL实现
<update id="updateById" parameterType="com.ku.vhr.model.Nation"> update vhr_project.nation set name = #{name,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} </update>4.2 updateById测试
4.2.1 测试方法
@Test public void updateById(){ Nation nation = new Nation(); nation.setId(55); nation.setName("什么族"); int rows = nationMapper.updateById(nation); System.out.println(rows); }updateByIdTest4.2.2 测试结果
5.updateByIdSelective
5.1 updateByIdSelective的使用
5.1.1 接口方法
int updateByIdSelective(Nation record);
5.1.2 SQL实现
<update id="updateByIdSelective" parameterType="com.ku.vhr.model.Nation"> update vhr_project.nation <set> <if test="name != null"> name = #{name,jdbcType=VARCHAR} </if> </set> where id = #{id,jdbcType=INTEGER} </update>updateByIdSelective5.2 updateByIdSelective测试
5.2.1 测试方法
@Test public void updateByIdSelective(){ Nation nation = new Nation(); nation.setId(55); nation.setName("珞巴族"); int rows = nationMapper.updateById(nation); System.out.println(rows); }updateByIdSelectiveTest5.2.2 测试结果
6.selectById
6.1 selectById的使用
6.1.1 接口方法
Nation selectById();
6.1.2 SQL实现
<select> select <include ref = "Base_Column_List"/> from `vhr_project.nation` where id = #{id,jdbcType=INTEGER}</select>6.2 selectById测试
6.2.1 测试方法
@Test public void selectById(){ Nation nation = nationMapper.selectById(2); System.out.println(nation); }6.2.2 测试结果
7.getAll
7.1 getAll的使用
7.1.1 接口方法
List<Nation> getAllNations();
7.1.2 SQL实现
<select id="getAllNations" resultMap="BaseResultMap"> select * from vhr_project.nation </select>7.2 getAll测试
7.2.1 测试方法
@Test public void getAllNations(){ List<Nation> allNations = nationMapper.getAllNations(); for (Nation nation : allNations) { System.out.println(nation); } }7.2.2 测试结果
8.参考链接
https://blog.csdn.net/jiankunking/article/details/52403300?ops_request_misc=&request_id=&biz_id=102&utm_term=SQL%E6%A0%87%E7%AD%BE%E6%98%AF%E7%94%A8%E6%9D%A5%E6%8A%BD%E5%8F%96%E5%8F%AF%E9%87%8D%E7%94%A8%E7%9A%84SQL%E7%89%87%E6%AE%B5%EF%BC%8C%E5%8D%95%E7%8B%AC%E5%AE%9A%E4%B9%89%EF%BC%8C%E6%96%B9%E4%BE%BF%E5%A4%9A%E6%AC%A1%E5%BA%94&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-52403300.142^v67^js_top,201^v4^add_ask,213^v2^t3_esquery_v2&spm=1018.2226.3001.4187https://blog.csdn.net/good_good_xiu/article/details/122690774?ops_request_misc=&request_id=&biz_id=102&utm_term=prefix%EF%BC%9A%E6%8B%BC%E6%8E%A5%E5%90%8E%E7%BB%ADsql%E6%97%B6%E9%9C%80%E8%A6%81%E5%8A%A0%E4%B8%8A%E7%9A%84%E5%89%8D%E7%BC%80%20suffix%EF%BC%9A&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-122690774.142^v67^js_top,201^v4^add_ask,213^v2^t3_esquery_v2&spm=1018.2226.3001.4187