mybatis(3)SqlMapConfig.xml配置

来源:互联网 发布:淘宝卖家延迟收货时间 编辑:程序博客网 时间:2024/05/01 00:21

1、properties属性

需求:

将数据库连接参数单独配置在db.properties中,只需要在SqlMapConfig.xml中加载db.properties的属性值。

SqlMapConfig.xml中就不需要对数据库连接参数硬编码。

将数据库连接参数只配置在db.properties中,原因:方便对参数进行统一管理,其它xml可以引用该db.properties

db.properties:

jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.username=rootjdbc.password=

sqlMapConfig.xml加载属性文件:

<!-- 和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>

<!-- 加载属性文件 --><properties resource="db.properties"></properties>

properties特性:

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

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

然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。 

最后读取parameterType传递的属性,它会覆盖已读取的同名属性。

建议:

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

properties文件中定义属性名要有一定的特殊性,如:XXXXX.XXXXX.XXXX


2、settings全局参数配置

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

比如:开启二级缓存、开启延迟加载。。 

全局参数将会影响mybatis的运行行为。


3、typeAliases(别名)

需求:

mapper.xml中,定义很多的statementstatement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。

如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterTyperesultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。


3.1、自定义别名

单个别名定义

<!-- 别名定义 --><typeAliases><!-- 单个定义别名 --><typeAlias type="com.xdy.mybatis.po.User" alias="user"/></typeAliases>

引用别名

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

3.2、批量定义别名

<!-- 别名定义 --><typeAliases><!-- 单个定义别名 --><!-- <typeAlias type="com.xdy.mybatis.po.User" alias="user"/> --><!-- 批量定义别名 --><package name="com.xdy.mybatis.po"/></typeAliases>

4、typeHandlers(类型处理器)

mybatis中通过typeHandlers完成jdbc类型和java类型的转换。

通常情况下,mybatis提供的类型处理器满足日常需要,不需要自定义.


5、mappers(映射配置)

5.1、通过resource加载单个映射文件

<!--通过resource方法一次加载一个映射文件 --><mapper resource="mapper/UserMapper.xml"/>

5.2、通过mapper接口加载单个mapper

<!-- 通过mapper接口加载单个 映射文件遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中上边规范的前提是:使用的是mapper代理方法 --><mapper class="com.xdy.mybatis.mapper.UserMapper"/>

5.3、批量加载mapper(推荐使用)

<!-- 批量加载mapper指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中上边规范的前提是:使用的是mapper代理方法 --><package name="com.xdy.mybatis.mapper"/>


0 0
原创粉丝点击