mybatis-全局配置文件

r囧r小猫 2022-06-12 03:49 315阅读 0赞

SqlMapConfig.xml中配置的内容和顺序如下,顺序不能变,否则会报错。

  • properties(属性)
  • settings(全局配置参数)
  • typeAliases(类型别名)
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)
  • environments(环境集合属性对象)
  1. * environment(环境子属性对象)
  2. * transactionManager(事务管理)
  3. * dataSource(数据源)
  • mappers(映射器)

properties

可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境。比如:创建db.properties配置数据库连接参数

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/mybatis
  3. jdbc.username=root
  4. jdbc.password=157326

然后将SqlMapConfig.xml改为

  1. <!-- 属性定义 加载一个properties文件 也可以在 properties标签 中配置属性值 -->
  2. <properties resource="db.properties">
  3. <!-- <property name="" value=""/> -->
  4. </properties>
  5. <environments default="development">
  6. <environment id="development">
  7. <transactionManager type="JDBC" />
  8. <dataSource type="POOLED">
  9. <property name="driver" value="${jdbc.driver}"/>
  10. <property name="url" value="${jdbc.url}"/>
  11. <property name="username" value="${jdbc.username}"/>
  12. <property name="password" value="${jdbc.password}"/>
  13. </dataSource>
  14. </environment>
  15. </environments>

mybatis按照下面的顺序来加载属性

  • 在properties元素体内定义的属性首先被读取。
  • 然后会读取properties元素中resource或url加载的属性,它会覆盖已读取的同名属性。
  • 最后读取parameterType传递的属性,它会覆盖已读取的同名属性。

建议使用properties时,不要在properties中定义属性,只引用定义的properties文件中属性,并且properties文件中定义的key要有一些特殊的规则,防止覆盖同名属性。

settings

配置一些mybatis运行时的参数。

typeAliases

可以将parameterType,resultType中指定的类型,通过别名引用。
mybaits本身提供了很多别名

  1. _byte byte
  2. _long long
  3. _short short
  4. _int int
  5. _integer int
  6. _double double
  7. _float float
  8. _boolean boolean
  9. string String
  10. byte Byte
  11. long Long
  12. short Short
  13. int Integer
  14. integer Integer
  15. double Double
  16. float Float
  17. boolean Boolean
  18. date Date
  19. decimal BigDecimal
  20. bigdecimal BigDecimal

自定义别名

  1. <!-- 定义别名 -->
  2. <typeAliases>
  3. <!-- 单个别名定义 type:别名映射的类型 alias:别名 -->
  4. <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/>
  5. </typeAliases>
  6. <typeAliases>
  7. <!-- 批量别名定义 指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写)-->
  8. <package name="cn.itcast.mybatis.po"/>
  9. </typeAliases>

typeHandlers

类型处理器将java类型和jdbc类型进行映射。mybatis默认提供很多类型处理器,一般情况下够用了。

mappers

mappers,三种配置方法

  1. <!--加载mapper映射 如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。-->
  2. <mappers>
  3. <!-- 通过resource引用mapper的映射文件 -->
  4. <mapper resource="sqlmap/User.xml" />
  5. </mappers>
  6. <mappers>
  7. <!-- 通过class引用mapper接口 class:配置mapper接口全限定名 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 -->
  8. <mapper class="cn.itcast.mybatis.mapper.UserMapper"/>
  9. </mappers>
  10. <mappers>
  11. <!-- 批量mapper配置 通过package进行自动扫描包下边的mapper接口, 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 -->
  12. <package name="cn.itcast.mybatis.mapper"/>
  13. </mappers>

“`

发表评论

表情:
评论列表 (有 0 条评论,315人围观)

还没有评论,来说两句吧...

相关阅读