MyBatis Mapper.xml 中实现 SQL 语句插入并获取自增主键
本文将介绍如何在 MyBatis 的 mapper.xml 文件中实现 SQL 语句的插入操作,并使用 'selectKey' 标签获取自增主键的值,方便在 Java 代码中使用。我们以以下 SQL 语句为例:
sqlstr = 'insert into HA_PhysicalExaminationRecord(examinationDate,jcpj_isException) values('' + dqrq + '',0);select @@identity';
int examID = conn.CommonExecuteScalar(sqlstr);
在 mapper.xml 中实现上述 SQL 语句,可以使用 'insert' 和 'selectKey' 标签来实现。
1. 定义 insert 语句
首先,在 mapper.xml 中定义一个 'insert' 语句,如下所示:
<insert id='insertPhysicalExaminationRecord' parameterType='YourParameterType' useGeneratedKeys='true' keyProperty='examID'>
insert into HA_PhysicalExaminationRecord(examinationDate, jcpj_isException)
values(#{examinationDate}, 0)
</insert>
- 'YourParameterType' 是你的参数类型。
- '#{examinationDate}' 是参数的属性名。
- 'useGeneratedKeys='true'' 表示使用数据库的自增主键。
- 'keyProperty='examID'' 表示将自增主键的值赋给 'examID' 属性。
2. 定义 selectKey 语句
然后,在 mapper.xml 中定义一个 'selectKey' 语句,用于获取自动生成的主键值,如下所示:
<selectKey keyProperty='examID' resultType='int' order='AFTER'>
select @@identity
</selectKey>
- 'keyProperty' 指定了生成的主键值要赋给哪个属性。
- 'resultType' 指定了主键的数据类型。
- 'order='AFTER'' 表示在 'insert' 语句执行后执行 'selectKey' 语句。
3. 定义 Mapper 接口方法
最后,在 mapper 接口中定义一个方法,如下所示:
int insertPhysicalExaminationRecord(YourParameterType parameter);
在该方法对应的映射文件中,调用上述定义的 'insert' 语句,并返回生成的主键值。
总结
通过以上步骤,我们就实现了将 SQL 语句插入到 mapper.xml 中,并在 Java 代码中调用,方便地获取数据库自增主键的值。
原文地址: https://www.cveoy.top/t/topic/qjzh 著作权归作者所有。请勿转载和采集!