2.1 认识配置文件:
介绍
MyBatis的配置文件中包含了影响MyBatis行为和属性的信息,控制MyBatis的整体运行方式.配置文件中主要配置数据源[驱动类,URL,账号,密码],事务管理,加载指定映射文件.
说明:
1. MyBatis配置文件的名称和位置自定义.
2. MyBatis未提供源码和案例,配置和映射内容参考官网或使用指南
3. MyBatis配置文件顶层结构如下:
基本格式:
也可以去官网:mybatis – MyBatis 3 | 入门或者下载的框架压缩包中查看PDF
2.2 配置标签:
<environments>:
作用:
声明一组运行环境.[支持多数据库]
属性:
default: 设置默认运行环境,属性值为某个<environment>的id值.
<environment>:
作用:
定义1个运行环境
属性:
id: 设置当前环境的匿称,名称任意.通常为development和work.
<transactionManager>:
作用:
指定事务管理器,MyBatis含有2种事务管理器[JDBC和MANAGED]
属性:
type: JDBC[使用JDBC的提交和回滚设置],MANAGED[使用其他容器管理事务提交和回滚]
<dataSource>:
作用:
该标签通过标准的JDBC数据源接口来配置JDBC连接对象的资源
属性:
type: 设置数据源的类型,属性值为POOLED|UNPOOLED|JNDI
POOLED:使用连接池.从连接池中取出连接,关闭时将该连接放回连接池
UNPOOLED: 不使用连接池.每次都打开新连接,关闭时将彻底关闭该连接
JNDI: 从其他容器中获得连接
<property>:
作用:
定义数据源的指定属性和值
属性:
name: 属性名.在<dataSource>中,name通常为driver/url/username/password或其他
value: 属性值.
2.3 配置数据源:
方式1: 直接在property中写明参数值
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
方式2: 在外声明,在内调用
<!--配置环境-->
<properties>
<property name="mydriver" value="com.mysql.jdbc.Driver"/>
<property name="myurl" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="myusername" value="root"/>
<property name="mypassword" value="123456"/>
</properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/><!--配置事务管理的方式: JDBC,MANAGED-->
<!--配置数据源: 账户/密码 URL 驱动器 连接数据库 -->
<dataSource type="POOLED"><!--type定义数据连接方式: POOLED[使用连接池]|UNPOOLED|JNDI-->
<property name="driver" value="${mydriver}"/><!--Class.forName("com.mysql.jdbc.Driver")-->
<property name="url" value="${myurl}"/>
<property name="username" value="${myusername}"/>
<property name="password" value="${mypassword}"/>
</dataSource>
</environment>
</environments>
方式3: 读取properties配置文件
<properties resource="DBSource.properties" />
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/><!--配置事务管理的方式: JDBC,MANAGED-->
<dataSource type="POOLED"><!--type定义数据连接方式: POOLED[使用连接池]|UNPOOLED|JNDI-->
<property name="driver" value="${db.driver}"/><!--Class.forName("com.mysql.jdbc.Driver")-->
<property name="url" value="${db.url}"/>
<property name="username" value="${db.user}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
DBSource.properties文件:
# 键名=值 键名自定义
db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mydb
db.user=root
db.password=123456
方式4: 了解
2.4 加载映射文件:
方式1: <mappers>
<mappers>:
格式:
<mapper resource/url/class="映射文件路径">
</mappers>
说明:
- resource: 使用相对类路径,指出映射文件的位置.比如 bean/User.xml
- url: 使用绝对路径,指出映射文件的位置.比如: file:///bean/User.xml
- class: 使用类全名,指出映射器接口的位置.比如: bean.UserMapper[UserMapper为接口
方式2: <package>
格式:
<package name="包名" />
说明:
将指定包中所有接口类,在MyBatis中注册.
注意: mapper接口和映射文件名称要相同,且在同1目录下
2.5 自定义别名:
格式:
<typeAliases>
<!-- 方式1: 定义指定类的别名 -->
<typeAlias type="类全名" alias="别名[名称任意]" />
<!-- 方式2: 批量定义别名 -->
<package name="包名" />
</typeAliases>
说明:
name值为包名,包中类的别名为类名[大小写均可]