1、环境配置(environments)
MyBatis可配置成适应多种环境
注意:尽管可配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境
<!-- default:指定开启的环境对象 -->
<environments default="development">
<!-- environment包裹下的为一个环境,id属性:为该环境命名 -->
<environment id="development">
<transactionManager type="JDBC"/>
<!-- dataSource:数据源 -->
<dataSource type="POOLED">
<!-- driver:驱动名 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- url -->
<property name="url" value="jdbc:mysql://localhost:3306/test75_13?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC"/>
<!-- username、password 数据库的用户名、密码 -->
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
1.1、事务管理器(transactionManager)
配置事务的管理方式
type属性:指定使用哪种事务管理方式
JDBC:JDBC的事务管理机制
关闭自动提交业务:成功执行提交事务,失败进行事务回滚
MANAGED:从不提交或回滚连接,没有做事务的控制
1.2、数据源(dataSource)
配置数据库连接对象的管理方式
type值:
POOLED -- 采用数据库连接池
UNPOOLED -- 数据源实现时每次都会请求时打开和关闭连接
1.2.1属性(properties)
-
直接写入property属性
<dataSource type="POOLED"> <!-- driver:驱动名 --> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!-- url --> <property name="url" value="jdbc:mysql://localhost:3306/test75_13?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC"/> <!-- username、password 数据库的用户名、密码 --> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource>
-
引入外部.properties配置
1、准备.properties文件(src文件夹下)
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/myschool?useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC username=root password=123456
2、configuration标签下添加properties标签,在resource属性内写入.properties名称
<configuration> <properties resource="db.properties"></properties>
3、dataSource标签下添加property标签通过${}引入参数
<dataSource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </dataSource>
2、映射器(mappers)
注册mapper配置文件(连接Dao层接口对应的xml配置文件)
方式一
直接引入xml文件
<mappers>
<mapper resource="com/xxx/dao/ProductsMapper.xml"/>
</mappers>
方式二
配置接口,接口名与xml文件名必须一致,且在同一路径下
<mappers>
<mapper class="com.xxx.dao.ProductsMapper"/>
</mappers>
方式三
包扫描:引入指定包内所有配置文件
要求:接口名与xml文件名必须一致,且在同一个路径下
<mappers>
<package name="com.xxx.dao"/>
</mappers>
3、类型别名(typeAliases)
对java中的类起别名(常用于实体类)
<typeAliases>
<!-- typeAlias 分别对每个类取别名,type:位置、alias:别名 -->
<typeAlias type="com.xxx.model.Products" alias="products"/>
<!-- 对包中的每一个类起别名,默认别名是类名首字母小写-->
<package name="com.woniuxy.model"/>
</typeAliases>