条条|MyBatis学习笔记7——分页

7.1关于配置文件

transactionManager:提交事务,回顾事务的方式
type:事务的处理类型
  • JDBC:表示mubatis底层是调用JDBC中的Connection对象,commit,rollback
  • MANAGED:把mybatis的事务处理委托给其他容器(服务器软件,框架(spring))
dataSource:表示数据源,在java体系中规定实现了javax.sql.DtaSource接口的都是数据源(Connection对象)
type:指定数据源的类型
  • POOLED:使用连接池,mubatis会创建PooledDataSource类
  • UPOOLED:不适用连接池,在每次执行sql语句,先创建连接,执行sql,再关闭连接。mybatis会创建一个UpooledDataSource,管理Connection对象的使用
  • JNDI:java命名和目录服务(≈windows注册表)

数据库的属性配置文件

把数据库连接信息放到一个单独的文件中。和mybatis主配置文件分开。目的是便于修改,保存,管理多个数据库的信息

  1. 在resources目录中定义一个属性配置文件,xxxx.properties;在属性配置文件中,定义数据,格式是 key=value(key: 一般使用 . 做多级目录的),如:jdbc.driver=com.mysql.jdbc.Driver
  2. 在mybatis的主配置文件,使用<property>指定文件的位置;在需要使用值的地方, ${key}

[图片上传失败...(image-ad9089-1595058721362)]

主配置文件(仅显示主要部分)
<properties resource="jdbc.properties"/>
    <environments default="myenv">
        <environment id="myenv">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url"
                          value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

多个mapper文件的指定

  1. <mappers>下用多个<mapper进行指定
  2. <mappers>下用<package
    格式:<package name="com/mybatis/dao"/>
    name:表示mapper文件所在的包名,这个包名下的所有mapper文件都一次加载给mybatis
    要求:1.mapper文件名要和接口名一致,且区分大小写;2.mapper文件要和dao接口处于一个目录下

PageHelper(数据分页)

我们在实际应用中不可能一次性把数据库的内容都获取出来,像我们看商品的评论,往往分若干页,每页有一定数量的评论,这样就需要用到PageHelper(PageHelper不属于mybatis哦,是一个国人写的一个插件)。
这种操作我们在数据库一般会用select * from student limit 0,3,PageHelper就帮我们做了这一步操作

使用步骤:
  1. 加入依赖
    <!--PageHelper依赖-->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.1.10</version>
    </dependency>
    
  2. 在主配置文件中配置插件
        <!--pagehelper插件-->
        <plugins>  
            <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
        </plugins>
    
  3. 在调用类中加入PageHelper.startPage(1,3);
    @Test
    public void test01ByPage(){
        SqlSession sqlSession= MyBatisUtils.getSqlSession();
        StudentDao dao=sqlSession.getMapper(StudentDao.class);
    
        PageHelper.startPage(1,3);
    
        List<Student> student=dao.selectPage();
        for (Student s: student
        ) {
            System.out.println(s);
        }
    
    }
    
    PageHelper.startPage(1,3)中第一个参数pageNum代表开始的页数;第二个参数pageSize代表每页展示的数据
    别忘了接口方法和mapper文件的添加

[图片上传失败...(image-a1bef3-1595058721362)]

条条:该学习笔记是记录了我的学习过程,学习自动力节点c语言中文网,有不对的地方欢迎指出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。