(三)mybatis学习之全局配置文件(sqlMapConfig.xml)
来源:互联网 发布:织梦cms后台演示地址 编辑:程序博客网 时间:2024/05/21 00:48
前言
全局配置文件(sqlMapConfig.xml)包括:
properties(属性)
settings(全局配置参数)
typeAlias(别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)<了解>
plugins(插件)<了解>
environments(环境集合属性对象)<了解>
environment(环境子属性对象)<了解>
transactionManager(事务管理)<了解>
dataSource(数据源)<了解>
mappers(映射器)
properties(属性)
db.properties
jdbc_driver=com.mysql.jdbc.Driverjdbc_url=jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8&zeroDateTimeBehavior=convertToNulljdbc_username=rootjdbc_password=888
sqlMapConfig.xml中使用properties
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 加载配置文件 --><properties resource="db.properties"><!-- properties中还可以配置一些信息 --><!-- <property></property> --></properties><!-- environments指的是mybatis运行环境,目前单独使用mybatis做测试时,需要在该环境中配置数据源。当mybatis与spring整合后,这一块内容则被废弃了。因为数据源等环境都交由了spring来管理 --><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><!-- 加载映射文件 --><mappers><mapper resource="sqlMap/user.xml"/></mappers></configuration>
settings(全局配置参数)
mybatis全局配置参数,全局配置参数将会影响mybatis运行行为
具体内容参考 mybatis-3.3.1.pdf 的第 《3.1.2 settings》章节
typeAlias(别名)
针对输入参数(parameterTyoe)和 输出结果类型(resultType)来定义别名
在mybatis里,有很多默认的别名,具体内容参考 mybatis-3.3.1.pdf 的第 《3.1.3 typeAliases》章节
我们也可以自定义别名
单个别名的定义
<!-- 定义别名 --><typeAliases><!-- (1)针对单个别名的定义 type:类的全路径alias:别名--><typeAlias type="pojo.User" alias="user"></typeAlias></typeAliases>
user.xml映射文件中把pojo.User设置为别名(user)
<select id="findUserById" parameterType="java.lang.String" resultType="user">select * from tab_user where id=#{id}</select>
批量别名的定义
单个别名定义的话,如果有N个类型需要定义别名,则需要配置N个<typeAlias type="xxx.xxx.xx.xxx" alias="yyy"></typeAlias>,这样非常不方便。
接下来看看批量别名的定义
<!-- 定义别名 --><typeAliases><!-- 批量别名的定义,使用package标签name:指定包名,mybatis会自动的扫描包中的pojo类,自动定义别名,别名就是类名,首字母大写或小写都可以 --><package name="pojo"/></typeAliases>
user.xml映射文件中把pojo.User置为别名(User)
<select id="findUserById" parameterType="java.lang.String" resultType="User">select * from tab_user where id=#{id}</select>
typeHandlers(类型处理器)
mybatis是通过typeHandlers类型处理器来完成java与jdbc类型的转换。
一般不需要自定义,因为mybatis提供的类型处理器满足日常需要。
mappers(映射器)
加载单个映射文件
通过<mapper resource="xx/xx/xx.xml"/>来加载
<!-- 加载映射文件 --><mappers><!-- 通过 resource加载单个映射文件--><mapper resource="sqlMap/user.xml"/></mappers>
加载单个mapper接口(只适用于mapper代理开发)
通过<mapper class="xx.xx.xxMapper"/>来加载
<!-- 加载映射文件 --><mappers><!-- 通过mapper接口加载映射文件需要遵循一些规范:(1)这种方式只适用于mapper代理方式(2)mapper接口类名与mapper.xml配置文件名保存一致,且在一个目录 --><mapper class="mapper.UserMapper"/></mappers>
批量加载mapper接口(只适用于mapper代理开发)
通过<package name="xxx.xxxx"/>来加载
<!-- 加载映射文件 --><mappers><!-- 通过package进行批量加载mapper接口 name:指定mapper接口的包名,mybatis自动扫描包下的mapper接口需要遵循一些规范:(1)这种方式只适用于mapper代理方式(2)mapper接口类名与mapper.xml配置文件名保存一致,且在一个目录 --><package name="mapper"/></mappers>
0 0
- (三)mybatis学习之全局配置文件(sqlMapConfig.xml)
- Mybatis总结(2)---Mybatis全局配置文件SqlMapConfig.xml
- mybatis全局配置文件SqlMapConfig.xml
- mybatis全局配置文件SqlMapConfig.xml
- Mybatis SqlMapConfig.xml全局配置文件
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析------------转载
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis入门基础(三)----SqlMapConfig.xml全局配置文件解析
- mybatis的全局配置文件SqlMapConfig.xml
- SqlMapConfig.xml配置文件---Mybatis学习笔记(七)
- SqlMapConfig.xml配置文件---Mybatis学习笔记(七)
- SSM框架学习之(三)Mybatis——SqlMapConfig配置文件
- zookeeper服务注册
- hdu5656 CA Loves GCD
- Providing Resources
- BitMap类
- struts2内置校验器、ajax、json
- (三)mybatis学习之全局配置文件(sqlMapConfig.xml)
- 机房重构报表显示方式
- Facial keypoints detection Kaggle 竞赛系列
- 第5讲 类和对象的高级应用-对象数组
- BitMap的用法
- 51nod 算法马拉松12 逛街(treap)
- 【c++程序】inline一般用法
- 【MFC】:MFC中如何查看并且修改tab order
- HDU-4969 Just a Joke (数学 - 积分)