首页 > 其他 > 详细

MyBatis案例

时间:2020-03-22 21:56:06      阅读:55      评论:0      收藏:0      [点我收藏+]

1.查询分页数据:

a.使用注解
mapper:

 <select id="selectBlogByPage2" resultMap="blogResultMap">
        select * from blog limit #{offset},#{pagesize}
 </select>

  接口:注解的value值要和mapper的占位参数一致。

List<Blog> selectBlogByPage2(@Param(value="offset") int offset, @Param(value="pagesize") int pagesize);

b.使用Map

mapper中的参数占位符要和测试中的map中的key一一对应

mapper:

 <select id="selectBlogByPage2" resultMap="blogResultMap">
        select * from blog limit #{offset},#{pagesize}
     </select>  

接口:

List<Blog> selectBlogByPage3(Map<String,Object> map);

测试:

        @Test
	public void testSelectBlogBySort(){
		SqlSession session=MyBatisUtil.getSqlSession();
		BlogMapper blogMapper=session.getMapper(BlogMapper.class);
		Map<String,Object> map=new HashMap<String,Object>();
		map.put("offset", 2);
		map.put("pagesize", 3);
		List<Blog> blogList=blogMapper.selectBlogByPage3(map);
		session.close();
		
		System.out.println(blogList);
	}
	

 

2.插入-获取刚刚插入的id(自增id) 

方式一:在mapper中配置 insert节点的属性 useGeneratedKeys="true" keyProperty=" "

    <insert id="insertBlog" parameterType="Blog"  useGeneratedKeys="true" keyProperty="id">
         insert into blog
         (title,author_id,state,featured,style)
         values(
           #{title},#{authorId},#{state},#{featured},#{style}
         )
     </insert>  

方式二:

在全局配置文件配置settings选项

 <settings>
    <setting name="useGeneratedKeys" value="true"/>
  </settings>  

并且在mapper的insert节点配置属性 keyProperty=" "

方式三:适用于没有自增属性的数据库

<insert id="insertmMysql" parameterType="Blog">
       <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
          SELECT LAST_INSET_ID()
       </selectKey>
         insert into blog
         (title,author_id,state,featured,style)
         values(
           #{title},#{authorId},#{state},#{featured},#{style}
         )
     
     </insert>

 

3.批量删除
mapper:

    <delete id="deleteBlogList" parameterType="java.util.List">
        delete from blog where id in
        <foreach collection="list" item="item" open="(" close=")" separator=",">
           #{item}
        </foreach>
     </delete>
       

接口:

int deleteBlogList(List<Integer> ids)  

测试:

        @Test
	public void testDeleteBlogList(){
		SqlSession session=MyBatisUtil.getSqlSession();
		BlogMapper blogMapper=session.getMapper(BlogMapper.class);
		
		List<Integer> ids=Arrays.asList(4,5,7);
		int blogList=blogMapper.deleteBlogList(ids);
		
		session.commit();
		session.close();
		
		System.out.println(blogList);
	}

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

MyBatis案例

原文:https://www.cnblogs.com/jyy599/p/12548215.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!