加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【SSM-MyBatis框架】SqlMapConfig.xml的配置

发布时间:2020-12-16 08:40:28 所属栏目:百科 来源:网络整理
导读:1.配置内容: SqlMapConfig.xml 中配置的内容和顺序如下: properties (属性) settings (全局配置参数) typeAliases (类型别名) typeHandlers (类型处理器) objectFactory (对象工厂) plugins (插件) environments (环境集合属性对象) environ

1.配置内容:

SqlMapConfig.xml中配置的内容和顺序如下:

properties(属性)

settings(全局配置参数)

typeAliases(类型别名)

typeHandlers(类型处理器)

objectFactory(对象工厂)

plugins(插件)

environments(环境集合属性对象)

environment(环境子属性对象)

transactionManager(事务管理)

dataSource(数据源)

mappers(映射器)


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

	<!--  加载属性文件-->
	<properties resource="db.properties"></properties>
	
	<!-- 全局参数配置,在需要时候进行配置 -->
	<!-- <settings></settings> -->
	
	<!-- 别名设置 -->
	<!-- 单个配置
			 type:类型路径
			 alias:别名-->
			<!-- <typeAliases>
					<typeAlias type="cn.edu.hpu.ssm.po.User" alias="user"/>
			</typeAliases> -->
	<!-- 批量设置(推荐使用)
			指定包名,mybatis自动扫描扫描po类,自动定义别名。默认为类名(首字母大写或小写) -->
			<typeAliases>
					<package name="cn.edu.hpu.ssm.po"/>
			</typeAliases>
			
			
	<!-- 和spring整合后 environments配置将废除-->
	<environments default="development">
		<environment id="development">
		<!-- 使用jdbc事务管理,事物控制有mybatis控制-->
			<transactionManager type="JDBC" />
		<!-- 数据库连接池,由mybatis管理-->
			<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>
	
	<!-- 配置mpper,加载映射文件 -->
<!-- <mappers>
				<mapper resource="sqlmap/User.xml"/>
				<mapper resource="mapper/UserMapper.xml"/>
		</mappers> -->
	
		<!-- 通过mapper接口,加载映射文件
			规范:mapper接口名必须与mapper。xml文件名相同,且放在同一包下
					前提是使用mapper代理的方式 -->
					<mappers>
							<mapper class="cn.edu.hpu.ssm.mapper.UserMapper"/>
							<mapper class="cn.edu.hpu.ssm.mapper.OrdersMapperCustom"/>
					</mappers>
</configuration>


1.sqlMapConfig可以引用Java的属性配置文件:(db.properties)

这里是对数据库的参数进行一些配置,为了防止硬编码不利于系统的优化。(在与springmvc整合后,由spring管理)

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=123456


2.setting全局参数配置:

mybatis运行时可以调整一些运行参数。如:二级缓存、开启延迟加载。

全局变量将影响mybatis的运行:



3.typeAliases(别名)(重点)

在mapper.xml中,定义很多的statement,statement需要ParameterType和ResultType指定输入参数类型和输出参数类型,如果指定类型时,输入参数的全路径,不方便开发,可以针对parameterType和ResultType指定的类型定义一些别名。在mapper.xml中,通过别名引用,方便开发。

Mybatis默认支持的别名:

别名

映射的类型

_byte

byte

_long

long

_short

short

_int

int

_integer

_double

double

_float

float

_boolean

boolean

string

String

byte

Byte

long

Long

short

Short

int

Integer

integer

double

Double

float

Float

boolean

Boolean

date

Date

decimal

BigDecimal

bigdecimal

BigDecimal


自定义别名:

1.单个别名定义:

<typeAliases>
	<typeAlias type="cn.edu.hpu.ssm.po.User" alias="user"/>
</typeAliases> 

2.批量别名定义:

<!-- 批量设置(推荐使用)
	指定包名,mybatis自动扫描扫描po类,自动定义别名。默认为类名(首字母大写或小写) -->
			<typeAliases>
					<package name="cn.edu.hpu.ssm.po"/>
			</typeAliases>

4.typeHandlers(类型处理器)

用于Java类型与jdbc类型的转换,mybatis自带的类型处理器基本满足日常所需,不需要另行定义。

mybatis支持的类型处理器:


类型处理器

Java类型

JDBC类型

BooleanTypeHandler

Booleanboolean

任何兼容的布尔值

ByteTypeHandler

Bytebyte

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

ShortTypeHandler

Shortshort

任何兼容的数字或短整型

IntegerTypeHandler

Integerint

任何兼容的数字和整型

LongTypeHandler

Longlong

任何兼容的数字或长整型

FloatTypeHandler

Floatfloat

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

DoubleTypeHandler

Doubledouble

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

BigDecimalTypeHandler

BigDecimal

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

StringTypeHandler

String

CHARVARCHAR类型

ClobTypeHandler

CLOBLONGVARCHAR类型

NStringTypeHandler

NVARCHARNCHAR类型

NClobTypeHandler

NCLOB类型

ByteArrayTypeHandler

byte[]

任何兼容的字节流类型

BlobTypeHandler

BLOBLONGVARBINARY类型

DateTypeHandler

Datejava.util

TIMESTAMP类型

DateOnlyTypeHandler

DATE类型

TimeOnlyTypeHandler

TIME类型

SqlTimestampTypeHandler

Timestampjava.sql

SqlDateTypeHandler

SqlTimeTypeHandler

TimeObjectTypeHandler

任意

其他或未指定类型

EnumTypeHandler

Enumeration类型

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

5.Mappers(映射配置)

1.通过resource加载单个映射文件:

<mappers>
    <mapper resource="sqlmap/User.xml"/>
    <mapper resource="mapper/UserMapper.xml"/>
</mappers>

2.通过mapper接口加载单个mapper:(指定mappers所在的包名,mybatis自动扫描mapper包下面的所有mapper接口。规范:mapper接口名必须与mapper.xml文件名相同,且放在同一包下。前提是使用mapper代理的方式 )

<!-- 通过mapper接口,加载映射文件
	规范:mapper接口名必须与mapper.xml<span style="color:#ff0000;">文件名相同,且放在同一包下</span>
					前提是使用mapper代理的方式 -->
<mappers>
    <mapper class="cn.edu.hpu.ssm.mapper.UserMapper"/>
    <mapper class="cn.edu.hpu.ssm.mapper.OrdersMapperCustom"/>
</mappers>


3.通过package批量加载mappers

<package name="cn.edu.hpu.ssm.mapper" />





??
??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读