MyBatis 别名配置和使用

1 MyBatis别名的作用

在SqlMapConfig.xml中定义别名,在mapper.xml文件中 parameterType resultType 中使用别名。其实是为了避免在xml文件中输入过长的全限定名,简化实体名的编写。

2 MyBatis自身定义的别名

MyBatis自身已经定义了一些的别名,我们在mapper.xml文件可以直接使用这些别名。

别名 映射的类型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal
map Map

3 MyBatis自定义别名

3.1 定义别名

在SqlMapConfig.xml先定义别名

方式一:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    

    <!--定义别名-->
    <typeAliases>
        <typeAlias type="com.yiidian.domain.Customer" alias="customer"/>
    </typeAliases>

    <!-- 1.数据库连接信息-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="jdbc"></transactionManager>
            <dataSource type="pooled">
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEcndoing=utf8"/>
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

这种方式需要一个个实体地配置。

方式二:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>


    <!--定义别名-->
    <typeAliases>
        <package name="com.yiidian.domain"/>
    </typeAliases>

    <!-- 1.数据库连接信息-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="jdbc"></transactionManager>
            <dataSource type="pooled">
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEcndoing=utf8"/>
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

这种方式更加方便,直接扫描实体所在包,别名就是类名(首字母小写)

 

3.2 使用别名

在CustomerDao.xml文件使用别名

<insert id="save" parameterType="customer">
    INSERT INTO t_customer(NAME,gender,telephone) VALUES(#{name},#{gender},#{telephone})
</insert>

这里customer就是别名。

热门文章

优秀文章