table of Contents
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>