mybatis 配置文件

mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.1//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    

    <settings>
        
    
        <!-- 全局映射器启用缓存,不建议使用mybatis自己的缓存 -->
        <setting name="cacheEnabled" value="false" />
        <!-- 查询时,关闭关联对象即时加载以提高性能 -->
        <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以提高性能 但是返回id有问题 -->
        <setting name="defaultExecutorType" value="SIMPLE" />
        <!-- 数据库超过36000秒仍未响应则超时 -->
        <setting name="defaultStatementTimeout" value="36000" />
        <!-- 日志使用log4j2实现 标准屏幕输出日志-->
        <setting name="logImpl" value="STDOUT_LOGGING" />
        <!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 
            的类似映射。 -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>


    <!--插件 -->
    <plugins>
        <!-- 分页插件PageHelper -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!--默认情况下会使用 PageHelper 方式进行分页,如果想要实现自己的分页逻辑,可以实现 Dialect(com.github.pagehelper.Dialect) 
                接口,然后配置该属性为实现类的全限定名称。 -->
            <!--分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect属性来指定分页插件使用哪种方言。 -->
            <property name="helperDialect" value="mysql" /> <!-- value="postgresql" -->
            <!-- 该参数默认为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" />
            <!-- 分页参数合理化,默认false禁用 。 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 
                ,禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
            <property name="reasonable" value="true" />
            <!-- 为了支持startPage(Object params)方法 ,增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值。可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
            <property name="params"
                value="pageNum=start;pageSize=limit;pageSizeZero=zero;reasonable=heli;count=contsql" />
        </plugin>
    </plugins>

    


</configuration>  

mybatis mapper 头文件

<?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="org.whm.domain.dao.TestDao">

    <select id="getData" resultType="map">
        select * from user;
    </select>

</mapper>  
原文地址:https://www.cnblogs.com/whm-blog/p/7260536.html