mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)

时间:2023-03-08 19:15:17
mybatis学习笔记(四)-- 为实体类定义别名两种方法(基于xml映射)

下面示例在mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现 Demo的基础上进行优化

以新增一个用户为例子,原UserMapper.xml配置如下:

<insert id="addUser" parameterType="main.User">
insert into tb_user(name,age) values(#{name},#{age})
</insert>

注:parameterType="main.User",main.User为包名+类名

方法一、单独定义别名

例子:为main.User类定义别名_User

(1)在conf.xml中加入

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!-- 引用db.properties配置文件 -->
<properties resource="db.properties"/> <typeAliases>
<typeAlias type="main.User" alias="_User"/>
</typeAliases> <environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<!-- value属性值引用db.properties配置文件中配置的值 -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${name}" />
<property name="password" value="${password}" />
</dataSource>
</environment> </environments> <mappers>
<!-- 注册userMapper.xml文件(基于xml实现)-->
<mapper resource="mapper/userMapper.xml"/>
<!-- 注册UserMapper映射接口(基于注解实现)-->
<mapper class="mapper.UserMapperI"/>
</mappers> </configuration>

(2)修改UserMapper.xml如下:

<insert id="addUser" parameterType="_User">
insert into tb_user(name,age) values(#{name},#{age})
</insert>

方法二、批量为某个包下的所有实体类设置别名

(1)设置别名的方式就是去除类所在的包,修改conf.xml

<typeAliases>
<package name="main"/>
</typeAliases>

注:<package name="mainn"/>就表示为这个包下面的所有实体类设置别名。main.User这个实体类的别名就会被设置成User。

(2)修改UserMapper.xml

<insert id="addUser" parameterType="User">
insert into tb_user(name,age) values(#{name},#{age})
</insert>

 ...(@_@)...End...