02mybatis的sqlMapConfig详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zw524362419/article/details/78939644

mybatis的sqlMapConfig详解


SqlMapConfig.xml的配置内容和顺序如下(顺序不能乱(敲黑板)):

Properties(属性)
Settings(全局参数设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境信息集合)
environment(单个环境信息)
transactionManager(事物)
dataSource(数据源)
mappers(映射器)

详解sqlMapConfig.xml中的元素

  1. properties 是属性配置,一般配置数据库,常用方式则是引入jdbc.properties文件
<properties resource="jdbc.properties">
</properties>

jdbc.properties文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/credit_sys?useSSL=false&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=
  1. Settings 用来设置全局参数

mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载等,有个settings全局参数配置文档:
这里写图片描述
一个配置完整的 settings 元素的示例如下:

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>
  1. typeAliases 类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:
<typeAliases>
    <typeAlias alias="BusinessApply" type="com.cmhy.model.BusinessApply"/>
    <package name = "com.cmhy.model"/>
</typeAliases>

上面代码段中,第二行是单独定义别名。第三行是批量定义别名(项目开发中常用),在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名,若有注解,则别名为其注解值。
已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。
4. typeHandlers
类型处理器用于java类型和jdbc类型映射,如下:
mybatis自带的类型处理器基本上满足日常需求,不需要单独定义。

<select id="findIdByName" parameterType="java.lang.String"
        resultType="java.lang.Integer">
        select id from business_apply where name like #{value}
    </select>
  1. mappers(映射器)

使用相对于类路径的资源
如:

<mapper resource="businessapply.xml" />

使用mapper接口类路径

<mapper class="com.cmhy.mapper.BusinessApplyMapper"/>

注册指定包下的所有mapper接口:

<package name="com.cmhy.mapper"/>

猜你喜欢

转载自blog.csdn.net/zw524362419/article/details/78939644
今日推荐