• mybatis代理类Demo


    前言

      简单实现通过代理接口来实现对数据的查询demo,也是对mybatis的一个熟练。首先是编写接口代理。

      public interface IBookMapper {

        List<BookModel> getBookList() throws Exception;
      }

       代理接口编写完毕后,需要在sqlMapConfig中添加映射,同时编码对应的mapper配置。我的接口和接口对应的mapper.xml是放在一个包下面的,目的是为了通过mappers映射器的package映射直接映射类过来。

    <configuration>
      <properties resource="book.properties">
      </properties>
      <environments default="mysql">
        <environment id="mysql">
          <transactionManager type="JDBC" />
          <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}" />
            <property name="url"
              value="jdbc:mysql://localhost:3306/mytest?characterEncoding=utf-8" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.pwd}" />
          </dataSource>
        </environment>
      </environments>

      <mappers>
        <package name="Mapper" />
      </mappers>
    </configuration>

       对应的mapper配置

    <mapper namespace="Mapper.IBookMapper">
      <select id="getBookList" resultType="Models.BookModel">
          select * from book
      </select>
    </mapper>

     需要注意的是:mapper配置中的namespace是我们要找的代理接口,需要整个命名空间权限名。我们在sqlSessionConfig中的mappers映射器中的pacakge的name是我们要去映射的包,包里面有我们的代理接口和映射配置文件,配置文件的名字和代理接口的名字是一样的。如下图:

       基本已经完成,接下来我们开始通过junit来测试我们的结果。

      

      @Test
      public void selectTest() {
        SqlSession openSession = factory.openSession();
        IBookMapper mapper = openSession.getMapper(IBookMapper.class);
        List<BookModel> list = null;
        try {
          list = mapper.getBookList();
        } catch (Exception e) {
          e.printStackTrace();
        }
        openSession.close();
        if (list != null) {
          for (BookModel b : list) {
            System.out.println(b);
          }
        }

      }

       测试结果,在我们的控制台输出我们的查询结果:

      

    总结

      对于学习新的东西,有人指导一下我想会更好,没有指导,在自己学完以后,做个demo是对所学的东西的最好的诠释。即使有人指导,有人教,那么在听取以后,要去思考把东西融入到自己的理解中然后按照自己的理解去demo一下会更加能加深对知识的巩固。一定是接着别人的讲,而不是按照别人的讲。更多的是要去与大家分享,很可能会得到更多的收获。

                don't say you finish study,no,it just as  beginning

  • 相关阅读:
    webservice的简单介绍
    如何在page_load方法判断是服务器端控件引发的page_load方法
    android架构概述
    页面传递数组参数
    XML与DataTable/DataSet互转
    jquery调用asp.net 页面后台方法
    asp.net缓存机制
    jQuery操作radio,checkbox,select
    jquery选择器
    android开发环境的搭建过程
  • 原文地址:https://www.cnblogs.com/hackerxiaoyon/p/7172050.html
Copyright © 2020-2023  润新知