目录
1、MyBatis配置文件
(1)为什么学习MyBatis配置文件
(2)什么是MyBatis配置文件
(3)配置文件的层级结构
2、configuration元素
功能: 标识配置文件的起始,所有配置信息都存放在这里。
3、enviroments元素
(1)元素的功能
功能:配置数据库环境信息,注册数据源, 配置数据库事务。
(2)元素的结构
(3) transactionManager数据库事务
JDBC:使用 JDBC 的事务管理机制,就是利用 java.sql.Connection 对象完成对事务的提交;
MANAGED:使用 MANAGED 的事务管理机制,这种机制 MyBatis 自身不会去实现事务管理,而是让程序的容器(JBOSS,WebLogic)来实现对事务的管理;
自定义:由使用者自定义数据库事务的管理方式,适用于特殊应用。
(4)environments元素的结构
其中<dataSource>的数据源有:
UNPOOLED(非连接池的数据源)、POOLED(连接池的数据源)、JNDI(JNDI的数据源)、自定义数据源(其他类型数据源)。
4、properties元素
但是有一个问题,你的用户名、密码、文件包还有mysql地址都在主配置xml里,呢岂不是每个人都能拿到我的相关信息甚至入侵吗?
这时候就要使用我们的<properties>元素来解决访问安全问题。
(1)properties元素的功能
功能: 配置属性的元素,可以在配置文件的上下文中使用该属性。
(2)properties元素的结构
(3)properties元素外部文件配置
(4)使用建议
- 不要使用混合方式,以避免管理混乱
- 首选的方式是 Properties 文件方式
- 如存在加密或者安全访问的问题,使用 第二种方式,为日后统一管理提供方便
5、typeAliases元素
(1)Mybatis内部支持的别名
别名 | 映射的类型 |
_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 |
integer | Integer |
double | Double |
float | Float |
bollean | Bollean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
map | Map |
(2)typeAliases元素的功能
其中id表示这个元素对应的id,在你的MyBatis映射文件中,id 是 <select> 元素的一个属性,用来唯一标识这个SQL语句。这个id可以在你的代码中被用来调用这个SQL语句。在Mybatis中,id都是唯一的,因为id和方法名相同,id又是唯一的,所以方法不能重载,MyBatis不允许方法重载。
其中parameterType对应的是从java传进来的参数类型,比如这个方法是查找指定班级的学生,所以要传入想要找的班级id。
其中resultType对应的是返回给java的结果类型,比如查找学生sql语句执行完后,要给java中返回对应的属性类型。
但是每一次都要通过包名.类名才能调用,能不能在主配置文件中直接定义好呢?
答案是可以的,在主配置文件中进行配置:
配置之后就可以直接使用类名来调用:
5、mappers元素
<mapper>是用来MyBatis初始化的时候引入映射器
用相对路径引入映射器:
用文件定位符引入映射器:
注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
注册指定包下的所有mapper接口:
注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。