Mybatis——接口与映射文件关联

注册XML:

定义接口方法:

 

public interface BlogMapperI {
    public List<Blog>getBlogById(List<Integer> ids);
    public List<Blog>getBlogById2(int[] arrey);
    public List<Blog>getBlogById3(Map<String,Object> map);
    public List<Blog> getBlogById4(Map<String,Object> map);

}

  

SQL映射XML:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="me.gacl.imp.BlogMapperI">
   
    <select id="getBlogById" resultType="Blog">
        SELECT *FROM t_blog WHERE id IN
        <foreach collection="list" item="item" open="(" close=")" separator=",">
            #{item}
        </foreach>
    </mapper>

  注意:mapper 中的 namespace 的值要写接口的包名+类名。

                  select 中的 id 必须和接口中的方法名一致,参数类型和返回类型也必须一致。

junit测试:

@Test
    public void getBlogByIdTest() {
        SqlSession session = MyBatisUtil.getSqlSessionFactory().openSession();
        BlogMapperI blogMapperI = session.getMapper(BlogMapperI.class);
        List<Integer> ids = new ArrayList<>();
        ids.add(1);
        ids.add(2);
        ids.add(3);
        List<Blog> blogs = blogMapperI.getBlogById(ids);
        for (Blog blog : blogs) {
            System.out.println(blog);
        }
        session.close();
    }

  

测试结果:

 

posted @ 2018-09-19 23:00  WQiQi  阅读(252)  评论(0编辑  收藏  举报