本文将介绍如何在 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 代码中调用,方便地获取数据库自增主键的值。

MyBatis Mapper.xml 中实现 SQL 语句插入并获取自增主键

原文地址: https://www.cveoy.top/t/topic/qjzh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录