mybatis的SqlMapConfig.xml的属性

一.properties(属性)(参考传智播客的内容教学)

    一般的应用在链接数据库参数的独立配置。

    原因:

         1. SqlMapConfig.xml内容居多,当数据库参数的发生变化时,一般是程序读取配置信息,进行链接数据库,相比较读取内容居多的SqlMapConfig.xml,当然是只读取包含数据库连接的db.properties文件比较方便。

           2.其他的xml可能也要读取数据库,为了统一管理,把数据统一到db.properties文件来实现共享。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis1?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

在SqlMapConfig.xml文件中加载属性文件:

        

<properties resource="db.properties">
        <!--properties中还可以配置一些属性名和属性值  -->
        <!-- <property name="jdbc.driver" value=""/> -->
</properties>
另:

        在mybatis中加载属性的地方有三个:1.properties的元素体内的属性

                                                               2.properties的resource/src包括进来的属性文件

                                                               3。paremeterType传来的值

                                   读取顺序:  从1-3以此读取,并加以覆盖。即先读取properties元素体内的值然后读取resource包括来的值,如果出现元素名重复则resource的值会覆盖体内的值,以此类推。

为了方便属性的管理:

                     1.尽量不要在元素体内定义属性,只定义在文件中

                     2.属性名要有特殊性,防止与paremeterType传来的值重名

二、settings(全局参数配置)

     mybatis在运行时会用到的参数,所以参数的配置会影响到mybatis的运行

 官网链接:http://www.mybatis.org/mybatis-3/configuration.html#settings

三:typeAliases(类型别名)

        在mapper.xml的statement中需要通过parameterType指定参数的类型和resutType来制定返回类型。

在配置文件中需要指定参说类型的全路径,但是写了全路径,不方便开发。所以规定以别名来代替全路径来简化开发。

1.mabits内部默认支持的别名

 

别名 映射的类型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal

详细参考:

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

但是对于自己定义的po类,全名称也很长,但是没有默认的别名,这时候就需要自己定义了。

2.自定义别名

        -----单个别名定义

              <typeAliases>

                    type:类型路径

                   alias:别名

                      <typeAlias type="vo.User" aliad=“user”/>

                 </typeAliases>

        ------批量别名定义

            <typeAliases>

                 //指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名。首字母大小写都可以

             <package name="cn.vo"/>

          </typeAliases>

四、typeHandlers

myBatis通过typeHandles来完成java类型和mysql类型之间的转换。

由于自带的转换已经满足基本需求,则不需要在额外的定义类型转换

类型处理器 Java类型 JDBC类型
BooleanTypeHandler Boolean,boolean 任何兼容的布尔值
ByteTypeHandler Byte,byte 任何兼容的数字或字节类型
ShortTypeHandler Short,short 任何兼容的数字或短整型
IntegerTypeHandler Integer,int 任何兼容的数字和整型
LongTypeHandler Long,long 任何兼容的数字或长整型
FloatTypeHandler Float,float 任何兼容的数字或单精度浮点型
DoubleTypeHandler Double,double 任何兼容的数字或双精度浮点型
BigDecimalTypeHandler BigDecimal 任何兼容的数字或十进制小数类型
StringTypeHandler String CHAR和VARCHAR类型
ClobTypeHandler String CLOB和LONGVARCHAR类型
NStringTypeHandler String NVARCHAR和NCHAR类型
NClobTypeHandler String NCLOB类型
ByteArrayTypeHandler byte[] 任何兼容的字节流类型
BlobTypeHandler byte[] BLOB和LONGVARBINARY类型
DateTypeHandler Date(java.util) TIMESTAMP类型
DateOnlyTypeHandler Date(java.util) DATE类型
TimeOnlyTypeHandler Date(java.util) TIME类型
SqlTimestampTypeHandler Timestamp(java.sql) TIMESTAMP类型
SqlDateTypeHandler Date(java.sql) DATE类型
SqlTimeTypeHandler Time(java.sql) TIME类型
ObjectTypeHandler 任意 其他或未指定类型
EnumTypeHandler Enumeration类型 VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)
详情请看:http://www.mybatis.org/mybatis-3/configuration.html#typeHandlers

五、mappers映射配置(重点)

1.通过resource加载单个映射文件(一次加载一个)

        <mappers>
       <mapper resource="mapper/heheMapper.xml"/>
  </mappers>

2.通过mapper接口加载单个映射文件

   当使用mapper代理方法,且mapper接口的名称和mapper.xml文件名保持一致,且在一个目录下才可以用

         <mapper class="mapper.heheMapper"/>

3.批量加载映射文件

  当2.条件的目录中有多个符合条件的映射文件则可以采用这种方式

        例。      cn.mapper

                           --heheMapper.java

                           --heheMapper.xml

                           --hahaMapper.java

                           --hahaMapper.xml

             <package name="cn.mapper"/>

 

猜你喜欢

转载自blog.csdn.net/lilibo123/article/details/80638593
今日推荐