插入一条用户记录的时候返回这个用户的信息,如何把密码去掉

0 0 java springboot spring-mvc mybatis
风中孤狼
风中孤狼

声望值:128 0人

2018-08-20 16:30:49 提问

关注 0关注

收藏 0收藏, 281浏览

    @Insert("INSERT INTO user (username,name,password,mobile,create_time) values(#{username},#{name},#{password},#{mobile},#{create_time})")
    @SelectKey(statement="SELECT LAST_INSERT_ID()", keyProperty="id", before=false, resultType=Long.class)
    int insertByUser(User user);

在mapper里使用这个插入数据库

userMapper.insertByUser(user)

在service里调用方法插入,我想获得插入之后的用户信息和插入的id,目前的操作是直接返回user,但是其中带着password这个参数,这个应该怎么插入之后去掉,有没有好的方法

请先 登录 后评论

6个回答

  • 爬墙丶等红杏79声望 2018-08-08 11:42

    1.先user.setPassword(null);然后返回user2.如果要返回json 可以直接把password的字段忽略掉
    请先 登录 后评论
  • 攻城狮44声望 2018-08-08 11:42

    专门为前端开一个vo对象
    请先 登录 后评论
  • ╰╮妖言惑众50声望 2018-08-08 11:43

    问题过于简单。。。。楼上回答都可以,666
    请先 登录 后评论
  • 半盛&梦夏149声望 2018-08-08 11:43

    建议采用二楼的方法,使用良好定义的vo可以降低类和类之间的耦合程度不建议使用user.setPassword(null)
    请先 登录 后评论
  • Carlos Beranger174声望 2018-08-08 11:44

    vo是正解,vo po dto 这些都有自己的场景
    请先 登录 后评论
  • ♪ 柠乐↘78声望 2018-08-08 11:45

    进阶版。如何优雅的去掉密码。废话不多说,直接上伪代码。 class UserView extends HashMap { public UserView(User user) { put("name": user.getName()); //put("pwd": user.getPwd()); } } 调用时 return new UserView(user);
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问