美文网首页
springboot+mybatis框架搭建--6.配置myba

springboot+mybatis框架搭建--6.配置myba

作者: 小狼在IT | 来源:发表于2019-03-07 14:01 被阅读0次

1.添加个分页控件(可选)maven

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.1.8</version>
    </dependency>

2.创建个mybatis配置xml(个人用惯了,没刻意研究如何用javaconfig搞)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-config.dtd">
        
    <configuration>
    
        <settings>  
            <!-- 全局映射器启用缓存 -->  
            <setting name="cacheEnabled" value="true" />  
            <!-- 查询时,关闭关联对象即时加载以提高性能 -->  
            <setting name="lazyLoadingEnabled" value="true" />  
            <!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指 定),不会加载关联表的所有字段,以提高性能 -->  
            <setting name="aggressiveLazyLoading" value="false" />  
            <!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->  
            <setting name="multipleResultSetsEnabled" value="true" />  
            <!-- 允许使用列标签代替列名 -->  
            <setting name="useColumnLabel" value="true" />  
            <!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 -->  
            <setting name="useGeneratedKeys" value="true" />  
            <!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->  
            <setting name="autoMappingBehavior" value="FULL" />  
            <!-- 对于批量更新操作缓存SQL以提高性能  -->  
            <!-- <setting name="defaultExecutorType" value="BATCH" /> -->  
            <!-- 数据库超过25000秒仍未响应则超时 -->  
            <setting name="defaultStatementTimeout" value="25000" />
            <!-- 启用下划线与驼峰式命名规则的映射 -->
            <setting name="mapUnderscoreToCamelCase" value="true"/>
    
            <setting name="jdbcTypeForNull" value="NULL"/>
        </settings>
        
        <plugins>
            <!-- com.github.pagehelper为PageHelper类所在包名 -->
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                <!-- 4.0.0以后版本可以不设置该参数 -->
                <!--<property name="dialect" value="oracle"/>-->
                <!-- 该参数默认为false -->
                <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
                <!-- 和startPage中的pageNum效果一样-->
                <property name="offsetAsPageNum" value="false"/>
                <!-- 该参数默认为false -->
                <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
                <property name="rowBoundsWithCount" value="true"/>
                <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
                <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
                <property name="pageSizeZero" value="true"/>
                <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
                <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
                <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
                <property name="reasonable" value="false"/>
                <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
                <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
                <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
                <!-- 不理解该含义的前提下,不要随便复制该配置 -->
                <!-- <property name="params" value="pageNum=start;pageSize=limit;"/>-->
            </plugin>
        </plugins>
    </configuration>

3.在这里建立mapper:


image.png

在这里建立dto以及对应的mapper接口(我这里叫DAO):


image.png

4.在application.properties进行配置:


image.png

6.配置调试打印sql日志(可不配置):


image.png

7.最后让spring boot扫描:


image.png

测试:
写了一个mapper方法:


image.png

运行结果:


image.png
image.png

相关文章

网友评论

      本文标题:springboot+mybatis框架搭建--6.配置myba

      本文链接:https://www.haomeiwen.com/subject/lcscpqtx.html