mybatis11 sqlMapConfig.xml文件说明
1sqlMapConfig.xml
SqlMapConfig.xml中配置的内容和顺序如下:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
1.1properties属性定义 可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境内。 比如:创建db.properties配置数据库连接参数。下面引用这个属性文件。 属性文件: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=mysql
注意: MyBatis 将按照下面的顺序来加载属性: 在 properties 元素体内定义的属性首先被读取。 <properties ><property name="" value=""/></properties> 然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。 <properties resource="db.properties"></properties> 最后读取parameterType(parameterType="cn.itcast.mybatis.po.User")传递的属性,它会覆盖已读取的同名属性。 建议使用properties,不要在properties中定义属性,只引用定义的properties文件中属性,并且properties文件中定义的key要有一些特殊的规则。
1.1settings全局参数配置 mybatis运行时可以调整一些全局参数(相当于软件的运行参数),参考:mybatis-settings.xlsx 根据使用需求进行参数配置(开启缓存,延迟加载等)。 注意:小心配置,配置参数会影响mybatis的执行。 ibatis的全局配置参数中包括很多的性能参数(最大线程数,最大待时间。。。),通过调整这些性能参数使ibatis达到高性能的运行,mybatis没有这些性能参数,由mybatis自动调节。
1.1typeAliases(常用) 可以将parameterType、resultType中指定的类型 通过别名引用。 1.1.1mybaits提供了很多别名 别名 映射的类型 _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(java.iang.Integer) integer Integer double Double float Float boolean Boolean date Date decimal BigDecimal bigdecimal BigDecimal 1.1.2自定义别名
使用别名
在parameterType、resultType中使用别名:
typeHandlers(类型处理器)
类型处理器将java类型和jdbc类型进行映射。
mybatis默认提供很多类型处理器,一般情况下够用了。
1.1.1mappers
<!--加载mapper映射 如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。 --> <mappers> <!-- resource是classpath,通过resource加载mapper的映射文件 --> <mapper resource="sqlmap/User.xml" /> <!-- <mapper resource="mapper/UserMapper.xml" /> --> <!-- 通过class引用mapper接口 class:配置mapper接口全限定名 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 --> <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> --> <!-- 批量mapper配置 通过package进行自动扫描包下边的mapper接口, 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 这样就加载了映射文件。 --> <package name="cn.itcast.mybatis.mapper"/> </mappers>
SqlMapsinfig.xml文件
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- 属性定义 加载一个properties文件, 也可以在 properties标签 中配置属性值 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=mysql --> <properties resource="db.properties"> <!-- <property name="" value=""/> --> </properties> <!-- 定义 别名 --> <typeAliases> <!-- 单个别名的定义 alias:别名,type:别名映射的类型 --> <!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> --> <!-- 批量别名定义 指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写) --> <package name="cn.itcast.mybatis.po"/> </typeAliases> <!-- 和spring整合后 environments配置将废除--> <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> <!--加载mapper映射 如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。 --> <mappers> <!-- resource是classpath,通过resource加载mapper的映射文件 --> <mapper resource="sqlmap/User.xml" /> <!-- <mapper resource="mapper/UserMapper.xml" /> --> <!-- 通过class引用mapper接口 class:配置mapper接口全限定名 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 --> <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> --> <!-- 批量mapper配置 通过package进行自动扫描包下边的mapper接口, 要求:需要mapper.xml和mapper.java同名并且在一个目录 中 这样就加载了映射文件。 --> <package name="cn.itcast.mybatis.mapper"/> </mappers> </configuration>