mybatis 返回int值
MyBatis可以通过以下方式返回int值:
- 使用
<select>标签并设置resultType属性为int。
<select id="getTotalCount" resultType="int">
SELECT COUNT(*) FROM users
</select>
- 使用
<insert>、<update>或<delete>标签并设置statementType属性为CALLABLE,然后在存储过程或函数中返回一个int值。
<insert id="insertUser" statementType="CALLABLE">
{CALL insert_user(#{name}, #{age}, #{gender}, #{address}, #{phone}, #{email}, #{createdTime, jdbcType=TIMESTAMP}, #{updatedTime, jdbcType=TIMESTAMP}, #{isDeleted, jdbcType=BIT}, #{status, jdbcType=INTEGER, mode=INOUT})}
</insert>
CREATE PROCEDURE insert_user(
IN name VARCHAR(50),
IN age INT,
IN gender VARCHAR(10),
IN address VARCHAR(200),
IN phone VARCHAR(20),
IN email VARCHAR(50),
IN createdTime TIMESTAMP,
IN updatedTime TIMESTAMP,
IN isDeleted BIT,
INOUT status INT
)
BEGIN
INSERT INTO users(name, age, gender, address, phone, email, created_time, updated_time, is_deleted, status)
VALUES(name, age, gender, address, phone, email, createdTime, updatedTime, isDeleted, status);
SET status = @@ROWCOUNT;
END;
- 使用
<selectKey>标签并设置resultType属性为int,然后在<insert>、<update>或<delete>标签中引用。
<insert id="insertUser">
<selectKey resultType="int" order="AFTER">
SELECT @@IDENTITY
</selectKey>
INSERT INTO users(name, age, gender, address, phone, email, created_time, updated_time, is_deleted, status)
VALUES(#{name}, #{age}, #{gender}, #{address}, #{phone}, #{email}, #{createdTime, jdbcType=TIMESTAMP}, #{updatedTime, jdbcType=TIMESTAMP}, #{isDeleted, jdbcType=BIT}, #{status, jdbcType=INTEGER})
</insert>
``
原文地址: https://www.cveoy.top/t/topic/hbS9 著作权归作者所有。请勿转载和采集!