admin
2024-09-05 ab35ac8b769b2d9816dffb33a64f2c6f7bd5dd6e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package com.yeshi.buwan.dao.user;
 
import com.yeshi.buwan.dao.base.BaseDao;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate4.HibernateCallback;
import org.springframework.stereotype.Repository;
 
import com.yeshi.buwan.domain.user.LoginUser;
import org.yeshi.utils.StringUtil;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
 
@Repository
public class LoginUserDao extends BaseDao<LoginUser> {
 
 
    public LoginUser selectByPrimaryKeyForUpdate(String id) {
        return (LoginUser) excute(new HibernateCallback<LoginUser>() {
            @Override
            public LoginUser doInHibernate(Session session) throws HibernateException {
                List<LoginUser> userList = session.createSQLQuery("select * from wk_loginuser lu where lu.id=? for update").addEntity(LoginUser.class).setParameter(0, id).list();
                if (userList != null && userList.size() > 0)
                    return userList.get(0);
                return null;
            }
        });
 
    }
 
    public void updateSelective(LoginUser loginUser) {
 
        String hql = "update LoginUser u set ";
        List<Serializable> params = new ArrayList<>();
        List<String> sets = new ArrayList<>();
        if (loginUser.getPhone() != null) {
            sets.add("u.phone=?");
            params.add(loginUser.getPhone());
        }
 
        if (loginUser.getName() != null) {
            sets.add("u.name=?");
            params.add(loginUser.getName());
        }
 
 
        if (loginUser.getPortrait() != null) {
            sets.add("u.portrait=?");
            params.add(loginUser.getPortrait());
        }
 
        if (loginUser.getSex() != null) {
            sets.add("u.sex=?");
            params.add(loginUser.getSex());
        }
 
        if (loginUser.getSign() != null) {
            sets.add("u.sign=?");
            params.add(loginUser.getSign());
        }
 
        if (loginUser.getBirthday() != null) {
            sets.add("u.birthday=?");
            params.add(loginUser.getBirthday());
        }
 
        if (loginUser.getWxOpenId() != null) {
            sets.add("u.wxOpenId=?");
            params.add(loginUser.getWxOpenId());
        }
 
        if (loginUser.getWxUnionId() != null) {
            sets.add("u.wxUnionId=?");
            params.add(loginUser.getWxUnionId());
        }
 
        if (loginUser.getQqOpenId() != null) {
            sets.add("u.qqOpenId=?");
            params.add(loginUser.getQqOpenId());
        }
 
 
        if (loginUser.getPwd() != null) {
            sets.add("u.pwd=?");
            params.add(loginUser.getPwd());
        }
 
 
        if (sets.size() > 0) {
            params.add(loginUser.getId());
            Serializable[] ps = new Serializable[params.size()];
            params.toArray(ps);
            update(hql + StringUtil.concat(sets, ",") + " where u.id=?", ps);
        }
 
 
    }
 
}