mybatis3 type alias

Problem Description

    <!-- 插入操作 需要user参数 -->
    <insert id="insertUser" parameterType="cn.bitqian.entity.User">
        insert into users1 values (#{userId}, #{userName}, #{userPassword})
    </insert>

    <!-- 修改操作 -->
    <update id="updateUser" parameterType="cn.bitqian.entity.User">
        update users1 set username = #{userName}, userpassword = #{userPassword}
        where userid = #{userId}
    </update>

    <!-- 根据id删除某个user -->
    <delete id="deleteUser" parameterType="java.lang.Integer">
        delete from users1 where userid = #{userId}
    </delete>

Each of the above parameterTypes must write the full package name + the class name, which is very
cumbersome, and all need to be labeled for extraction.

solution

类型别名可为 Java 类型设置一个缩写名字。
 它仅用于 XML 配置,意在降低冗余的全限定类名书写。
  • Type aliases (typeAliases)
类型别名可为 Java 类型设置一个缩写名字。 
它仅用于 XML 配置,意在降低冗余的全限定类名书写。
<typeAliases>
  <typeAlias alias="user" type="cn.bitqian.entity.User"/>
  <typeAlias alias="user" type="cn.bitqian.entity.Order"/>
</typeAliases>

The writing becomes concise:

<mapper>
    <insert id="insertUser" parameterType="user">
        insert into users1 values (#{userId}, #{userName}, #{userPassword})
    </insert>
</mapper>
  • Some data types provided by Java are compared with the corresponding types of mybatis
Alias Mapping type
_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
object Object
map Map
hashmap HashMap
list List
arraylist ArrayList
collection Collection
iterator Iterator

Option two, scan the package directly

<typeAliases>
  <package name="cn.bitqian.entity"/>
</typeAliases>
<mapper>
	<!-- 实体类名称 -->
    <insert id="insertUser" parameterType="User">
        insert into users1 values (#{userId}, #{userName}, #{userPassword})
    </insert>
</mapper>

Guess you like

Origin blog.csdn.net/qq_44783283/article/details/108537089