关于mybatis的<selectKey>中的keyColumn
2024-09-07 05:04:52
<mapper namespace="com.dao.EmployeeDao"> <insert id="insert">
<selectKey order="BEFORE" keyColumn="employeeId,employeeGender" keyProperty="employeeId,employeeGender" resultType="com.entity.Employee">
select employee_id employeeId,employee_gender employeeGender from employee where employee_id=13
</selectKey>
insert into subtable(employee_id,employee_name,employee_gender) values (#{employeeId},"mdzz",#{employeeGender})
</insert>
</mapper>
keyColumn是要和select语句中的表名相对应的实体类的字段对应的,但同时他也要和select语句中的列名对应,因此要取别名一致。
keyProperty是和insert语句中的values内的参数一致,也就是和insert语句中的表的对应实体类的字段一致,才可以通过反射完成
java代码
public interface EmployeeDao {
int insert(Employee employee);
}
测试代码
@Test
public void testInsert() {
Employee employee = new Employee();
EmployeeDao employeeDao = MapperFactory.generateMapper(EmployeeDao.class);
employeeDao.insert(employee);
System.out.println(employee);
}
表说明:创建了一个employee表,和一个副标subtable,列和employee完全一样,列名都是通过“_”连接的
employee | CREATE TABLE `employee` (
`employee_id` int(11) NOT NULL AUTO_INCREMENT,
`employee_name` char(30) DEFAULT NULL,
`employee_gender` binary(1) DEFAULT NULL,
`employee_salary` decimal(10,2) DEFAULT NULL,
`dept_id` int(11) DEFAULT NULL,
PRIMARY KEY (`employee_id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 |
最新文章
- java指定路径写、读文件
- NOIP2014提高组 酱油记
- Navicat链接Oracle提示ORA-12737
- 基于Extjs的web表单设计器 第四节——控件拖放
- spring aop编程
- Servlet Filter 3
- select标签用法
- Oracle11g导入*.dmp数据文件
- python del函数
- OC1_银行账户类
- C#的tooltip自动消失之后就不再显示了解决办法
- mac 上搭建SVN
- Selenium与phantomJS 登入豆瓣 有bug
- 如何在Linux中轻松删除源安装的软件包?
- 560. Subarray Sum Equals K 求和为k的子数组个数
- ABP框架系列之三十九:(NLayer-Architecture-多层架构)
- Azure Load Balancer : 支持 IPv6
- airtest 记录
- MySQL慢日志简介及Anemometer工具介绍
- JMeter学习笔记--使用URL回写来处理用户会话
热门文章
- Button btn = sender as Button; //创建Button对象 这句话中Sencler和as是什么。怎么使用Sender和as
- 苹果vs中国竞争者:瘦死的骆驼比马大?
- dMd----攻防世界
- epoll源码分析(基于linux-5.1.4)
- JavaScript深入理解对象方法——Object.entries()
- 原型与继承与class
- solus linux 中文输入法
- Spring Boot -- 认识Spring Boot
- CSS样式表——样式2
- python——字符输出ASCII码