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);
|
}
|
|
|
}
|
|
}
|