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

Posted wuqi2328857945

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
    }

  

测试结果:

技术分享图片

 

以上是关于Mybatis——接口与映射文件关联的主要内容,如果未能解决你的问题,请参考以下文章

mybatis之关联映射

MyBatis关联查询,表字段相同,resultMap映射问题的解决办法

mybatis如何实现一对多关联关系

MyBatis关联映射

Mybatis

mybatis xml数据层框架应用--Mybatis关系映射之一对多关系映射