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); }