目录
- 问题描述
- 解决方案
- 方案二,直接扫描包
问题描述
<!-- 插入操作 需要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>
以上的每个parameterType都要写全包名+类名,
及其繁琐,所有需要标签对其进行抽取。
解决方案
类型别名可为 Java 类型设置一个缩写名字。它仅用于 XML 配置,意在降低冗余的全限定类名书写。
- 类型别名(typeAliases)
类型别名可为 Java 类型设置一个缩写名字。
它仅用于 XML 配置,意在降低冗余的全限定类名书写。
<typeAliases><typeAlias alias="user" type="cn.bitqian.entity.User"/><typeAlias alias="user" type="cn.bitqian.entity.Order"/>
</typeAliases>
写法变得简洁:
<mapper><insert id="insertUser" parameterType="user">insert into users1 values (#{userId}, #{userName}, #{userPassword})</insert>
</mapper>
- 一些Java提供的数据类型和mybatis对应的类型相比
别名 | 映射类型 |
---|---|
_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 |
方案二,直接扫描包
<typeAliases><package name="cn.bitqian.entity"/>
</typeAliases>
<mapper><!-- 实体类名称 --><insert id="insertUser" parameterType="User">insert into users1 values (#{userId}, #{userName}, #{userPassword})</insert>
</mapper>