package com.niit.bbs.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.niit.bbs.entity.User;
public class UserDao extends AbstractDao {
public String checkAccount(String account) {
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet set = null;
String aount = null;
String sql = "select account from t_register where account = ?";
try {
ps = connection.prepareStatement(sql);
ps.setString(1, account);
set = ps.executeQuery();
while (set.next()) {
aount = set.getString(1);
}
return aount;
} catch (SQLException e) {
e.printStackTrace();
}
finally {
close(connection, ps, set);
}
return null;
}
public User save(User user) {
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet set = null;
String sql = "insert into t_register(account,password,name,sex,enjoy,contryarea,email,phonenum,qqnum,question,answer,birthday) values (?,?,?,?,?,?,?,?,?,?,?,?)";
try {
ps = connection.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS);
ps.setString(1, user.getAccount());
ps.setString(2, user.getPassword());
ps.setString(3, user.getName());
ps.setString(4, user.getSex());
ps.setString(5, user.getEnjoy());
ps.setString(6, user.getCountryArea());
ps.setString(7, user.getEmail());
ps.setString(8, user.getPhoneNum());
ps.setString(9, user.getQqNum());
ps.setString(10, user.getQuestion());
ps.setString(11, user.getAnswer());
ps.setDate(12, new java.sql.Date(user.getBirthday().getTime()));
ps.executeUpdate();
set = ps.getGeneratedKeys();
if (set.next()) {
int id = set.getInt(1);
user.setId(id);
}
} catch (SQLException e) {
e.printStackTrace();
}
finally {
close(connection, ps, set);
}
return user;
}
public User isExist(User user) {
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet set = null;
User u = null;
String sql = "select id,account,password from t_register where account = ? and password = ?";
try {
ps = connection.prepareStatement(sql);
ps.setString(1, user.getAccount());
ps.setString(2, user.getPassword());
set = ps.executeQuery();
while (set.next()) {
int id = set.getInt(1);
String account = set.getString(2);
String password = set.getString(3);
u = new User();
u.setId(id);
u.setAccount(account);
u.setPassword(password);
}
return u;
} catch (SQLException e) {
e.printStackTrace();
}
finally {
close(connection, ps, set);
}
return null;
}
public List<User> listAll() {
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet set = null;
List<User> lists = new ArrayList<User>();
String sql = "select id,account,name,sex,email,birthday from t_register";
try {
ps = connection.prepareStatement(sql);
set = ps.executeQuery();
while (set.next()) {
int id = set.getInt(1);
String account = set.getString(2);
String name = set.getString(3);
String sex = set.getString(4);
String email = set.getString(5);
Date birthday = set.getDate(6);
User user = new User();
user.setId(id);
user.setAccount(account);
user.setName(name);
user.setSex(sex);
user.setEmail(email);
user.setBirthday(birthday);
lists.add(user);
}
return lists;
} catch (SQLException e) {
e.printStackTrace();
}
finally {
close(connection, ps, set);
}
return null;
}
public User listDetail(User user) {
Connection connection = getConnection();
PreparedStatement ps = null;
ResultSet set = null;
User u = new User();
String sql = "select account,password,name,sex,enjoy,contryarea,email,phonenum,qqnum,question,answer,birthday from t_register where id = ?";
try {
ps = connection.prepareStatement(sql);
ps.setInt(1, user.getId());
set = ps.executeQuery();
while (set.next()) {
String account = set.getString(1);
String password = set.getString(2);
String name = set.getString(3);
String sex = set.getString(4);
String enjoy = set.getString(5);
String contryarea = set.getString(6);
String email = set.getString(7);
String phonenum = set.getString(8);
String qqnum = set.getString(9);
String question = set.getString(10);
String answer = set.getString(11);
Date birthday = set.getDate(12);
u.setAccount(account);
u.setPassword(password);
u.setName(name);
u.setSex(sex);
u.setEnjoy(enjoy);
u.setCountryArea(contryarea);
u.setEmail(email);
u.setPhoneNum(phonenum);
u.setQqNum(qqnum);
u.setQuestion(question);
u.setAnswer(answer);
u.setBirthday(birthday);
}
return u;
} catch (SQLException e) {
e.printStackTrace();
}
finally {
close(connection, ps, set);
}
return null;
}
public boolean delete(User user) {
Connection connection = getConnection();
PreparedStatement ps = null;
String sql = "delete from t_register where id = ?";
try {
ps = connection.prepareStatement(sql);
ps.setInt(1, user.getId());
ps.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(connection, ps, null);
}
return false;
}
public void updatePassword(User user) {
Connection connection = getConnection();
PreparedStatement ps = null;
String sql = "update t_register set password = ? where id = ?";
try {
ps = connection.prepareStatement(sql);
ps.setString(1, user.getPassword());
ps.setInt(2, user.getId());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(connection, ps, null);
}
}
}
评论0