Mybatis基础学习之setting和typeAliases元素

Mybatis基础学习之setting和typeAliases元素

setting设置

setting是mybatis中最复杂的配置,它能深刻影响MyBatis底层的运行,但在大部分情况下使用默认值便可以运行,所以在大部分情况下不需要配置它,只需要修改一下常用的规则便行。

关于setting的配置很多,但真正用的到的不会太多,我们把常用的配置搞清楚便行了。

typeAliases别名元素

由于类的全限定名很长,需要大量使用时,总写那么长的名称不方便。在mybatis中允许定义一个简写来代表这个类,这就是别名,别名分为系统定义别名和自定义别名。在mybatis中由类TypeAliasRegistry去定义。注意,在mybatis中别名不区分大小写。
我们注重于自定义别名。

自定义别名

由于现实中,特别是大型互联网系统中存在有许多的对象,比如用户(User)这个对象有时候需要大量重复地使用,因此mybatis也提供了用户自定义别名的规则。定义的方法可以通过TypeAliasRegistry类的registerAlias方法注册,也可以采用配置文件或扫描方式来定义它。
配置文件的定义如下:

	<typeAliases >
		<typeAlias type="cn.java.entity.User" alias="kk"></typeAlias>
	</typeAliases>

这样就可以定义一个别名了。如果有很多类需要定义别名,那么使用这样的方式进行配置就不怎么方便了。可以采用扫描方式来定义。

	<typeAliases >
		<package name="cn.java.entity"></package>
	</typeAliases>

这样mybatis将扫描这个包里面的类,可以用“kk”代替它的全限定名。

package cn.java.entity;

import org.apache.ibatis.type.Alias;

@Alias("kk")
public class User {
    private Integer id;

    private String name;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

这样就能够避免因为别名重名而导致的扫描失败的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值