Mysql返回修改后的值_Mybatis注解的方式,如何实现MySQL ,update后,返回更新后的值...

1b38063f827010280f96ab1279647a51.png

慕桂英546537

如果你查看mybatis的源码你就会发现mybatis实现update操作是这样做的

@Override

public int update(Statement statement) throws SQLException {

PreparedStatement ps = (PreparedStatement) statement;

ps.execute();

int rows = ps.getUpdateCount();

Object parameterObject = boundSql.getParameterObject();

KeyGenerator keyGenerator = mappedStatement.getKeyGenerator();

keyGenerator.processAfter(executor, mappedStatement, ps, parameterObject);

return rows;

}

返回的为int类型的参数,所以如果你想使用这样的标签实现这种功能估计是不可能的,

如果实在想返回参数,可以尝试这这么做:

定义一个方法

List updateReturn();

xml中编写代码

update table_name

set status=1

where a='demo';

select * from table_name limit 10;

但是这种方法不适合维护,还是很不建议这么做

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我们来逐步完成这个任务。 首先,我们需要准备好实体类,假设我们已经有了一个User类,它对应着t_user表中的数据。 ```java public class User { private Long id; private String username; private String password; private Integer age; // 省略getter和setter方法 } ``` 接下来,我们需要定义一个Mapper接口,用于执行CRUD操作。这里我们使用MyBatis注解方式来定义Mapper接口。 ```java public interface UserMapper { @Select("SELECT * FROM t_user WHERE id = #{id}") User selectById(Long id); @Insert("INSERT INTO t_user(username, password, age) VALUES(#{username}, #{password}, #{age})") void insert(User user); @Update("UPDATE t_user SET username=#{username}, password=#{password}, age=#{age} WHERE id=#{id}") void update(User user); @Delete("DELETE FROM t_user WHERE id=#{id}") void delete(Long id); } ``` 上述代码中,我们使用了四个注解分别对应着四个CRUD操作。其中,@Select注解表示查询操作,@Insert注解表示插入操作,@Update注解表示更新操作,@Delete注解表示删除操作。在每个注解中,我们都使用了相应的SQL语句,并通过#{}占位符来传递参数。 最后,我们需要在MyBatis的配置文件中将该Mapper接口与对应的SQL语句绑定起来。 ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="selectById" resultType="com.example.entity.User"> SELECT * FROM t_user WHERE id = #{id} </select> <insert id="insert" parameterType="com.example.entity.User"> INSERT INTO t_user(username, password, age) VALUES(#{username}, #{password}, #{age}) </insert> <update id="update" parameterType="com.example.entity.User"> UPDATE t_user SET username=#{username}, password=#{password}, age=#{age} WHERE id=#{id} </update> <delete id="delete" parameterType="java.lang.Long"> DELETE FROM t_user WHERE id=#{id} </delete> </mapper> ``` 在该配置文件中,我们使用<mapper>标签定义了命名空间为com.example.mapper.UserMapper的Mapper接口。接着,我们使用<select>、<insert>、<update>、<delete>标签分别定义了四个操作,并通过id属性指定了操作的方法名,通过parameterType和resultType属性指定了参数类型和返回类型。 至此,我们已经完成了用MyBatis注解方式实现MySQL表t_user中的用户数据进行增删改查的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值