SSM-MyBatis-11:Mybatis中查询全部用resultmap

 

 

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

 

 

实体类很普通,四个字段,编号,名字,作者名,价格

在接口中的方法声明如下

 

//查全部
    public List<Book> findAllBook();

 

在小配置中如下

 

<!--resultmap-->
    <resultMap id="bookMapper" type="Book">
        <id column="bookID" property="bookID"></id>
        <!--默认的自动映射行为是PARTIAL部分映射,就不用写bookname也能装配到-->
    </resultMap>
    <!--resultmap-->
    <select id="findAllBook" resultMap="bookMapper">
        select * from book
    </select>

 

他默认的自动映射行为是PARTIAL,部分的,也就是开启的,他也可以手动设置,关闭自动映射行为

设置方法是在大配置文件中

 

<!--<settings>
        自动映射行为
        <setting name="autoMappingBehavior" value="NONE"/>
    </settings>-->

 

它的意思是关闭NONE,这个不用关,所以我就是简单的操作后就注释掉了

测试类中

 

///查全部用resultmap
    @Test
    public void t1SelectAll(){
        String path = "mybatis-config.xml";

        try {
            InputStream e = Resources.getResourceAsStream(path);
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(e);
            SqlSession session = factory.openSession();
            IBookDAO mapper = session.getMapper(IBookDAO.class);
            List<Book> list = mapper.findAllBook();
            for (Book item:list) {
                System.out.println(item.getBookName());
            }

            session.close();
        } catch (IOException var9) {
            var9.printStackTrace();
        }
    }

 

posted @ 2018-02-24 19:59  晨曦Dawn  阅读(312)  评论(0编辑  收藏  举报