目录
环境配置(environments)
Mybatis默认事务管理器JDBC,默认数据源连接池:POOLED
属性(properties)
我们还是一般会用额外的Properties来存储数据库的一些属性
我们可以通过properties属性来实现引用配置文件
这些属性都是可外部配置且可动态替换的,既可以在典型的Java属性文件中配置,亦可通过propertie:元素的子元素来传递。【db.properties】
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username=root
password=111111
注意:properties标签必须现在开头,不然会报错的。xml文件里面有规定的标签顺序的。
外部不写,properties还可以在标签里面设置属性
思考:如果外部和内部都定义了重复的属性,调用的时候优先调用哪个?
答案:优先调用db.properties,即外部的属性。官方说法:根据 properties 元素中的 resource 属性读取类路径下属性文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。
类型别名(typeAliases)
类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
个人不建议写别名,出错了通过全限定类名可以更好地定义到错误!
方法一:
<typeAliases>
<typeAlias type="com.wjc.pojo.User" alias="User"/>
</typeAliases>
方法二;也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean
每一个在包 com.wjc.pojo 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 dcom.wjc.pojo.User
的别名为 user;若有注解,则别名为其注解值@Alias("author")。注解之后再讲解。
<typeAliases>
<package name="com.wjc.pojo"/>
</typeAliases>
测试一下,发现其实写大写也能跑出来,但是官方建议是小写的~
如果实体类比较多,用第二种方法比较好。
映射器(mappers)
告诉 MyBatis 到哪里去找到这些定义的 SQL 映射语句
之前已经使用过了,我就介绍一个最常用的方法,其他不多赘述了。
<mappers>
<mapper resource="com/wjc/dao/UserMapper.xml"/>
</mappers>