0
点赞
收藏
分享

微信扫一扫

Mybatis05-XML配置优化(Environment,properties,typeAliases,mapper)

eelq 2022-05-01 阅读 63

目录

环境配置(environments)

属性(properties)

类型别名(typeAliases)

映射器(mappers)


环境配置(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>

 

 

举报

相关推荐

0 条评论