关于update问题

关于update问题

如果要更新的字段就是条件字段,比如要求将id=1的用户的id修改为10,代码怎么写?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好!

不是,这里是通过名字来获取的,所以这里你可以根据实际的需求调整,比如:如果你的别名的数据是查询的条件,就可以写在where条件中,如果你的别名数据是要修改的值,就可以写在set id = #{id} 处,同学可以根据实际情况来调整。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

芝芝兰兰 2019-11-28 15:56:21

同学你好。可以给参数设置一个别名

@Param是MyBatis所提供的(org.apache.ibatis.annotations.Param)

作为Dao层的注解,当映射器方法需要多个参数时,这个注解可以被用于给映射器方法中的每个参数来取一个名字。否则,多参数将会以它们的顺序位置和SQL语句中的表达式进行映射,这是默认的。

在这里相当于有了一个别名,可以直接使用@Param括号中指定的别名来代表参数是哪个了

http://img1.sycdn.imooc.com//climg/5ddf7d10092cdb5c08700228.jpg

然后使用update users set id = #{id} where id=#{preid}即可

如果解答了同学的疑问,望采纳~

祝学习愉快~

  • 提问者 慕沐8221787 #1
    这个别名是不是只能用于条件部分的代码(如这里的where)?
    2019-11-29 14:13:12
  • 提问者 慕沐8221787 #2
    这种形式调用SqlSession的哪个update方法呢?SqlSession的update方法只有如下两种:update(String s)和update(String s,Object o)。
    2019-11-29 16:39:08
  • 好帮手慕柯南 回复 提问者 慕沐8221787 #3
    同学你好,同学你看到了SqlSession是不能够直接这么传参的,只能通过将数据放入map中传入,老师在你的另一个问答下回复你了,你可以去看看https://class.imooc.com/course/qadetail/174160 祝学习愉快~
    2019-11-29 17:45:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师