用户更新的sql语句

前端修改user对象的某些属性,传入后端一个新的user对象,后端要更新update(User user)的实现时,sql语句怎么写?id为主键,不会被修改.其实思路非常简单,不能把属性的所有字段都进行sql语句的set更新,而是需求中要修改哪些字段就进行哪些字段的set操作.不准备修改的就不要写set进行修改.如下面,把所有的字段都重新set了一次,如果业务就是要修改所有字段那就必须这样.但是大多数情况仅仅是修改某些字段.

private final String UPDATE_USER = "UPDATE q_user SET user_id = ?, nickname = ?, realname = ?,password = ?, email = ?,status = ?, last_login_time = ? WHERE id = ? ";

下面的sql语句就是对部分属性的更新设置:

private static final String UPDATE_USER = "UPDATE q_user SET "+UserInfoStrings.nickname+" = ?, "+UserInfoStrings.realName+" = ?,"+UserInfoStrings.email+" = ?"+" WHERE "+UserInfoStrings.userId+" = ? ";

另外:以上sql语句不是直接的写出列名,而是通过一个类UserInfoStrings来调用这个列名,这样做的好处是在写代码的时候不容易写错列名,因为ide对类的方法变量等都由自动提示的功能.

public class UserInfoStrings {
    public static final String id = "id";
    public static final String userId = "user_id";
    public static final String nickname = "nickname";
    public static final String realName = "realname";
    public static final String password = "password";
    public static final String email = "email";
    public static final String status = "status";
    public static final String lastLoginTime = "last_login_time";
}

上面通过类的静态变量取得列名,更好的方法是用枚举.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值