MyBaits全局配置文件的各项标签1

■dtd约束

  1.     <!DOCTYPE configuration  
  2.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  3.         "http://mybatis.org/dtd/mybatis-3-config.dtd"> 

为了编写简单,在我们写标签时会有代码提示,所以这个约束很有必要,一般联网情况下,我们只要写上上面代码的最后一行即可。

■properties

    这个标签主要是把我们在主配置文件中,关于数据库连接的部分配置抽离出来,通过配置文件的方式进行配置,当然在SSM整合中,这一项是交给Spring帮我们完成的,现在已经很少用到了。

  1. 编写配置文件
    1. 创建一个配置文件dbconfig.properties
    2. 写入一下配置信息
  2. jdbc.driver=com.mysql.jdbc.Driver  
  3. jdbcjdbc.url=jdbc:mysql://localhost:3306/mybatis_learn  
  4. jdbc.username=root  
  5. jdbc.password=*******  

2.在总配置文件中引入这个文件

<properties resource="dbconfig.properties"/>

3.将dataSource标签里dbconfig.properties的各项值还原

  1. <property name="driver" value="${jdbc.driver}"/>  
  2. <property name="url" value="${jdbc.url}"/>  
  3. <property name="username" value="${jdbc.username}"/>  
  4. <property name="password" value="${jdbc.password}"/>  

 

■settings

    settings是一个庞大而重要的标签,它可以改变Mybaits运行时的行为,推荐大家看看官方文档

  http://www.mybatis.org/mybatis-3/zh/configuration.html#settings

 

 

我会在之后的教程里逐渐给大家解释,这里我就介绍一个比较常用的选项,作为例子。

设置名:mapUnderscoreToCamelCase

描述:     是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。

有效值:true | false

默认值:False

这就是下划线映射为驼峰命名的策略,也是我们上一章如果开启这个策略,lastName在数据库中将会映射为last_name,我们也就不必要去在sql语句中编写别名了

 

■typeAliases

    这是别名处理器,我们在上一章中编写mapper.xml是,resultType填写的是JavaBean的包全限定名,如果我们每次添加一个sql查询,在返回类型上都写这种全限定名,就会很麻烦,也不容易读,因此有了这个标签

  1. <typeAliases>  
  2.    <typeAlias type="com.figsprite.bean.Employee" />  
  3. </typeAliases>  

如果我们这样书写,默认的别名会是包名首字母小写,也就是employee,当然我们也可以通过typeAlias中的alias属性指定别名

  1. <typeAliases>  
  2.     <typeAlias type="com.figsprite.bean.Employee" alias="emp"/>  
  3. </typeAliases>

通过这种方式,我们可以看到,每次为类起个别名都要一个typeAlias标签,如果我们JavaBean里有很多类,该如何快速的一次性起这些标签呢?我们需要用到package标签

  1. <typeAliases>  
  2.    <package name="com.figsprite.bean"/>  
  3. </typeAliases> 

这种方法所提供的别名是默认别名(即字母小写,其实别名不区分大小写= =),当然这种方法也有可能出现小问题,如果bean包下有个子包里面也有Employee类,那么Mybatis也会给他起一个相同别名,这样运行起来就有可能报错,这时我们就可以使用注解的方式,在JavaBean里使用@Alisa("emp")注解,起别名,MyBatis给我们起好了常用的几个包和类型的别名。我们起别名不能和这些冲突,其实建议我们使用全限定名的方式,这样容易定位类。

 

 

 

posted @ 2019-04-18 18:25  FigSprite  阅读(165)  评论(0编辑  收藏  举报