目录
- 问题描述
- 解决方案
- 方案二,直接扫描包
问题描述
<!-- 插入操作 需要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>