mybaits实体类别名的使用
程序员文章站
2022-06-01 18:58:34
...
mybatis-config.xml 里面配置别名:
<typeAliases>
<!--
单独起别名
不指定 alias 默认的别名就是类名首字母小写 typeAlias
-->
<typeAlias alias="user" type="com.xuanyuan.model.User" />
<!--
批量起别名
package 为包下的实体类批量起别名
name 指定实体类的最上层包
即既可以识别到 com.xuanyuan.model 下的 User 实体类,
也能识别到 com.xuanyuan.model.package 下的别的实体类
此方式起的别名就是默认的类名
-->
<package name="com.xuanyuan.model" />
</typeAliases>
在 mapper.xml 中使用的时候为:
<!--
如果resultType使用的别名:别名不区分大小写,所以USER,user,User,UsEr都是没问题的
如果resultType不使用别名,就需要指定实体类的全路径com.xuanyuan.model.User
-->
<select id="getUserByID" parameterType="int" resultType="UsEr">
select * from user where id = #{id}
</select>
PS:
1、批量取别名的情况下我们可以使用 @Alias 来对每个实体类单独取别名
import org.apache.ibatis.type.Alias;
@Alias("user")
public class User {
private int id;
private String name;
//自己补充getter && setter 方法
}
2、使用别名 和 不使用别名 的优劣对比:
使用别名:mapper 配置文件里面显得简洁,但是要是想查看该类的具体映射情况什么的找起来比较麻烦
不使用别名:mapper配置文件中显得较为臃肿,但是在想查看对应类信息的时候比较方便,可以通过ide直接进去对应的实体类
推荐阅读
-
sqlserver中delete、update中使用表别名和oracle的区别
-
vue-router重定向和路由别名的使用讲解
-
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
-
Linux中别名与二进制的使用教程
-
hibernate使用HibernateCallback回调的方法查询SQL时couldnotexecutequery--作怪的别名
-
vue-router重定向和路由别名的使用讲解
-
Vue中使用webpack别名的方法
-
Vue中使用webpack别名的方法实例详解
-
使用ObjectMapper把Json转换为复杂的实体类
-
mybaits中dao层的使用方式1:用自动生成工具生成