1、核心配置文件
mybatis-config.xml
MyBatis 的配置文件包含了会深深影响MyBatis行为的设置和属性信息。
configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境配置) environment(环境变量) transactionManager(事务管理器) dataSource(数据源) databaseIdProvider(数据库厂商标识) mappers(映射器)
2、环境配置(environments)
MyBatis可以配置成适应多种环境
不过要记住:尽管可以配置多个环境,但每个SqlSessionFactory实例只能选择一种环境。
Mybatis默认的事务管理器就是JDBC,连接池: POOLED
3、属性(properties)
我们可以通过properties属性来实现引用配置文件
这些属性都是可外部配置且可动态替换的,既可以在典型的Java属性文件中配置,亦可通过properties元素的子元素来传递。[db.properties]
编写一个配置文件
db.properties
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8 username=root password=li980314
在mybatis-config.xml中,引入外部配置文件:
可以直接引入外部文件
<properties resource="db.properties" />
可以在其中增加一些属性配置
<!-- 引入外部配置文件 --> <properties resource="db.properties"> <property name="username" value="root"/> <property name="password" value="li980314"/> </properties>
如果两个文件有同一个字段,优先使用外部配置文件的!
4、类型别名(typeAliases)
类型别名是为Java类型设置一个短的名字。
存在的意义仅在于用来减少类完全限定名的冗余。
<!-- 可以给实体类起别名 --> <typeAliases> <typeAlias type="com.allen.pojo.User" alias="User" /> </typeAliases>
也可以指定一个包名,MyBatis 会在包名下面搜索需要的Java Bean,比如:
扫描实体类的包,它的默认别名就为这个类的类名,首字母小写(也可以直接使用,不区分大小写,官网建议小写)!
<!-- 可以给实体类起别名 --> <typeAliases> <package name="com.allen.pojo"/> </typeAliases>
在实体类比较少的时候,使用第一种方式。
如果实体类十分多,建议使用第二种。
第一种可以DIY别名,第二种则:不行,如果非要改,需要在实体上增加注解。
@Alias("user") public class User { }
5、设置(settings)
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。
常用:
cacheEnabled:全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。
lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置 fetchType 属性来覆盖该项的开关状态。
logImpl:指定 MyBatis 所用日志的具体实现,未指定时将自动查找。
还有很多可以参考mybatis官网,这里只列出这三个掌握即可。
6、映射器(mappers)
MapperRegistry:注册绑定我们的Mapper文件;
方式一:使用resource进行绑定注册 【推荐使用】
<mappers> <mapper resource="com/allen/dao/UserMapper.xml" /> </mappers>
方式二:使用class文件进行绑定注册
<mappers> <mapper class = "com.allen.dao.UserMapper" /> </mappers>
方式三:使用包扫描进行绑定注册
<mappers> <package name="com.allen.dao" /> </mappers>
方式二和方式三注意点:
接口和他的Mapper配置文件必须同名!
接口和他的Mapper配置文件必须在同一个包下!
7、其他
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
mybatis-generator-core
mybatis-plus
通用mapper
这些配置了解即可,对于初学者基本是用不到的。