Mybatis-SqlMapConfig.xml配置

SqlMapConfig.xml主要负责配置数据库的连接信息,以及加载mapper.xml。

Properties

在配置数据库连接信息时,可采用Properties配置文件的方式进行相关信息的配置并加载,

这样只需要在SqlMapConfig.xml中加载properties文件包含的属性值,在SqlMapConfig.xml中就不需要对数据库连接参数硬编码。

同时也方便对参数进行统一管理,其它xml亦可引用该properties配置文件。

相关代码如下:

db.properties文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=passwd
SqlMapConfig.xml配置文件:
<environments default="development">
	<environment id="development">
	<!-- 使用jdbc事务管理-->
	<transactionManager type="JDBC" />
	<!-- 数据库连接池-->
	<dataSource type="POOLED">
	<property name="driver" value="${jdbc.driver}" />
	<property name="url" value="${jdbc.url}" />
	<property name="username" value="${jdbc.username}" />
	<property name="password" value="${jdbc.password}" />
		</dataSource>
	</environment>
</environments>

注意: MyBatis 将按照下面的顺序来加载属性:

1、properties元素体内定义的属性首先被读取。

2、其次读取properties 元素中resource或url加载的属性,其会覆盖已读取的同名属性

3、最后读取parameterType传递的属性,其亦会覆盖已经读取的同名属性

建议:

不要在properties元素体内添加任何属性值,只将属性值定义在properties文件中。

在properties文件中定义属性名要有一定的特殊性。


settings配置

mybatis框架在运行时可以调整一些运行参数。

比如:开启二级缓存、开启延迟加载,全局参数将会影响mybatis的运行行为。

具体设置信息如下所示:

表格下载:下载


TypeAliase(类型别名)

在Mybatis中,我们可以为数据类型指定一些别名,继而简化我们的开发,同时,也可以为协同开发做出一定的规则,减少了代码的错误量以及整合速度。

Mybatis本身支持了一些别名供我们使用,如下所示:

自带别名

别名

映射的类型

_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


自定义别名

除了Mybatis自身支持的一些数据类型别名外,我们还可以自定义一些简单易用的别名供我们使用。

自定义别名,则需要在SqlMapConfig.xml配置文件中进行相关的配置,如下所示:

<!-- 自定义别名 -->
<typeAliases>
<!-- 针对单个别名的定义
     type:类型的路径
     alias:别名
-->
<-- 单个别名定义 --> 

 <typeAlias type="com.sw.po.User" alias="user"/>

<!-- 批量别名定义指定包名,mybatis自动扫描包中的po类,自动定义别名,别名即为类名(大小写均可) -->
<package name="com.sw.po"/>
</typeAliases>

其中,我们可以进行单个别名定义,如下:

<typeAlias type="com.sw.po.User" alias="user"/>

表示将com.sw.User定义为user,在使用时,我们只需要填写user即可。
同时,亦可进行批量别名定义,如下:

<package name="com.sw.po"/>
如上则表示将com.sw.po包下所有的po类名称定义为其类名。

例如:com.sw.po下有User类,则其别名即为User或者user.....
注:在这里,user并不区分大小写,大小写均可进行配置。


typeHandler(类型处理器)

类型处理器用于java类型与jdbc类型的映射,如下所示:

<select id="findUserById" parameterType="int" resultType="user">
      select * from user where id = #{id}
</select>

parameterType则表示输入类型,即与数据库表字段的相关映射。

在Mybatis中,Mybatis自带了一些类型处理器,已经基本可以满足我们的开发需求,故一般不用自定义。

Mybatis自带类型处理器如下所示:

类型处理器

Java类型

JDBC类型

BooleanTypeHandler

Booleanboolean

任何兼容的布尔值

ByteTypeHandler

Bytebyte

任何兼容的数字或字节类型

ShortTypeHandler

Shortshort

任何兼容的数字或短整型

IntegerTypeHandler

Integerint

任何兼容的数字和整型

LongTypeHandler

Longlong

任何兼容的数字或长整型

FloatTypeHandler

Floatfloat

任何兼容的数字或单精度浮点型

DoubleTypeHandler

Doubledouble

任何兼容的数字或双精度浮点型

BigDecimalTypeHandler

BigDecimal

任何兼容的数字或十进制小数类型

StringTypeHandler

String

CHARVARCHAR类型

ClobTypeHandler

String

CLOBLONGVARCHAR类型

NStringTypeHandler

String

NVARCHARNCHAR类型

NClobTypeHandler

String

NCLOB类型

ByteArrayTypeHandler

byte[]

任何兼容的字节流类型

BlobTypeHandler

byte[]

BLOBLONGVARBINARY类型

DateTypeHandler

Datejava.util

TIMESTAMP类型

DateOnlyTypeHandler

Datejava.util

DATE类型

TimeOnlyTypeHandler

Datejava.util

TIME类型

SqlTimestampTypeHandler

Timestampjava.sql

TIMESTAMP类型

SqlDateTypeHandler

Datejava.sql

DATE类型

SqlTimeTypeHandler

Timejava.sql

TIME类型

ObjectTypeHandler

任意

其他或未指定类型

EnumTypeHandler

Enumeration类型

VARCHAR-任何兼容的字符串类型,作为代码存储(而不是索引)。


Mappers(映射器)

mappers映射器主要用于加载相关的mapper.xml配置文件。

<!-- 加载映射文件 -->
<mappers>
	<!-- User.xml -->
	<mapper resource="sqlmap/User.xml"/>
	<!-- 1、UserMapper.xml -->
   <!--   <mapper resource="com.sw.mapper.UserMapper.xml"/> -->
	 
	 <!--2、通过Mapper接口加载映射文件
		规范:需要将mapper接口类名与mapper.xml映射文件名保持一致,且在一个目录中
		前提:使用的是mapper代理的方式
	  -->
   <!--    <mapper class="com.sw.mapper.UserMapper"/> -->
	  
	  <!-- 3、批量加载(多个mapper)
		指定mapper接口的包名,mybatis自动扫描包下的mapper接口进行加载
	   -->
	   <package name="com.sw.mapper"/>
</mappers>

如上所示,一般的我们可以使用以上三种方法进行加载mapper.xml配置文件的工作。

但是我们知道,在实际开发时,有的时候,我们会将Mapper.xml配置文件放置于服务器某个磁盘中,

故而,我们可以使用<mapper url=" "/>的方式进行加载,其url表示mapper.xml的路径,例如:

<mapper url="file:///D:\workspace\mybatis-1\config\sqlmap\User.xml"/>

到这里,关于SqlMapConfig.xml的基本常用配置就讲解完了,在之后有增加的地方会接着修改,有错误的地方,请指教。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值