|
|
@ -1,59 +1,48 @@
|
|
|
|
package com.cn.dao.impl;
|
|
|
|
package com.cn.dao.impl; // 实现MemberDao接口的包
|
|
|
|
|
|
|
|
|
|
|
|
import java.sql.Connection;
|
|
|
|
import java.sql.*; // 导入SQL相关类
|
|
|
|
import java.sql.PreparedStatement;
|
|
|
|
import java.util.*; // 导入集合相关类
|
|
|
|
import java.sql.ResultSet;
|
|
|
|
|
|
|
|
import java.sql.SQLException;
|
|
|
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.cn.dao.MemberDao;
|
|
|
|
import com.cn.dao.MemberDao; // 导入MemberDao接口
|
|
|
|
import com.cn.domain.Member;
|
|
|
|
import com.cn.domain.Member; // 导入Member实体类
|
|
|
|
import com.cn.util.JDBCUtil;
|
|
|
|
import com.cn.util.JDBCUtil; // 导入JDBC工具类
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @description
|
|
|
|
* 实现MemberDao接口,提供会员数据访问操作。
|
|
|
|
* @author lxs
|
|
|
|
|
|
|
|
* @version 1.0
|
|
|
|
|
|
|
|
* @since 1.0
|
|
|
|
|
|
|
|
* @date 2019年9月8日
|
|
|
|
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class MemberDaoImpl implements MemberDao {
|
|
|
|
public class MemberDaoImpl implements MemberDao {
|
|
|
|
private Connection conn = null;
|
|
|
|
private Connection conn = null; // 数据库连接
|
|
|
|
private PreparedStatement pstmt = null;
|
|
|
|
private PreparedStatement pstmt = null; // 预编译语句
|
|
|
|
private ResultSet rs;
|
|
|
|
private ResultSet rs; // 结果集
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int add(Member member) throws SQLException {
|
|
|
|
public int add(Member member) throws SQLException { // 添加会员
|
|
|
|
String sql = "insert into member(username,password,registertime,ifuse,logintimes) values(?,?,?,?,?)";
|
|
|
|
String sql = "insert into member(username,password,registertime,ifuse,logintimes) values(?,?,?,?,?)";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection(); // 获取数据库连接
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql); // 准备SQL语句
|
|
|
|
pstmt.setObject(1, member.getUserName());
|
|
|
|
pstmt.setObject(1, member.getUserName()); // 设置参数
|
|
|
|
pstmt.setObject(2, member.getPassword());
|
|
|
|
pstmt.setObject(2, member.getPassword());
|
|
|
|
pstmt.setObject(3, member.getRegisterTime());
|
|
|
|
pstmt.setObject(3, member.getRegisterTime());
|
|
|
|
pstmt.setObject(4, member.getIfUse());
|
|
|
|
pstmt.setObject(4, member.getIfUse());
|
|
|
|
pstmt.setObject(5, member.getLogintimes());
|
|
|
|
pstmt.setObject(5, member.getLogintimes());
|
|
|
|
int status = pstmt.executeUpdate();
|
|
|
|
int status = pstmt.executeUpdate(); // 执行插入
|
|
|
|
pstmt.close();
|
|
|
|
closeResources(); // 关闭资源
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return status;
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int delete(int memberId) throws SQLException {
|
|
|
|
public int delete(int memberId) throws SQLException { // 根据ID删除会员
|
|
|
|
String sql = "delete from member where memberid=?";
|
|
|
|
String sql = "delete from member where memberid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, memberId);
|
|
|
|
pstmt.setObject(1, memberId);
|
|
|
|
int status = pstmt.executeUpdate();
|
|
|
|
int status = pstmt.executeUpdate();
|
|
|
|
pstmt.close();
|
|
|
|
closeResources();
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return status;
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int update(Member member) throws SQLException {
|
|
|
|
public int update(Member member) throws SQLException { // 更新会员信息
|
|
|
|
String sql = "update member set username=?,password=?,ifuse=?,logintimes=? where memberid=?";
|
|
|
|
String sql = "update member set username=?,password=?,ifuse=?,logintimes=? where memberid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
@ -63,76 +52,88 @@ public class MemberDaoImpl implements MemberDao {
|
|
|
|
pstmt.setObject(4, member.getLogintimes());
|
|
|
|
pstmt.setObject(4, member.getLogintimes());
|
|
|
|
pstmt.setObject(5, member.getMemberId());
|
|
|
|
pstmt.setObject(5, member.getMemberId());
|
|
|
|
int status = pstmt.executeUpdate();
|
|
|
|
int status = pstmt.executeUpdate();
|
|
|
|
pstmt.close();
|
|
|
|
closeResources();
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return status;
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Member> getAll() throws SQLException {
|
|
|
|
public List<Member> getAll() throws SQLException { // 获取所有会员
|
|
|
|
String sql = "select * from member";
|
|
|
|
String sql = "select * from member";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
List<Member> members = new ArrayList<Member>();
|
|
|
|
List<Member> members = new ArrayList<>();
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) {
|
|
|
|
int memberId = rs.getInt("memberId");
|
|
|
|
Member member = resultSetToMember(rs); // 将结果集转换为Member对象
|
|
|
|
String userName = rs.getString("userName");
|
|
|
|
|
|
|
|
String password = rs.getString("password");
|
|
|
|
|
|
|
|
Timestamp registerTime = rs.getTimestamp("registerTime");
|
|
|
|
|
|
|
|
int ifUse = rs.getInt("ifUse");
|
|
|
|
|
|
|
|
Timestamp logintimes = rs.getTimestamp("logintimes");
|
|
|
|
|
|
|
|
Member member = new Member(memberId, userName, password, registerTime, ifUse, logintimes);
|
|
|
|
|
|
|
|
members.add(member);
|
|
|
|
members.add(member);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
rs.close();
|
|
|
|
closeResources();
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return members;
|
|
|
|
return members;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Member getMemberById(int memberId) throws SQLException {
|
|
|
|
public Member getMemberById(int memberId) throws SQLException { // 根据ID获取会员
|
|
|
|
String sql = "select * from member where memberid=?";
|
|
|
|
String sql = "select * from member where memberid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, memberId);
|
|
|
|
pstmt.setObject(1, memberId);
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
Member member = null;
|
|
|
|
Member member = null;
|
|
|
|
while(rs.next()) {
|
|
|
|
if (rs.next()) {
|
|
|
|
String userName = rs.getString("userName");
|
|
|
|
member = resultSetToMember(rs); // 将结果集转换为Member对象
|
|
|
|
String password = rs.getString("password");
|
|
|
|
|
|
|
|
Timestamp registerTime = rs.getTimestamp("registerTime");
|
|
|
|
|
|
|
|
int ifUse = rs.getInt("ifUse");
|
|
|
|
|
|
|
|
Timestamp logintimes = rs.getTimestamp("logintimes");
|
|
|
|
|
|
|
|
member = new Member(memberId, userName, password, registerTime, ifUse, logintimes);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
rs.close();
|
|
|
|
closeResources();
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return member;
|
|
|
|
return member;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Member getMemberByName(String userName) throws SQLException {
|
|
|
|
public Member getMemberByName(String userName) throws SQLException { // 根据用户名获取会员
|
|
|
|
String sql = "select * from member where username=?";
|
|
|
|
String sql = "select * from member where username=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, userName);
|
|
|
|
pstmt.setObject(1, userName);
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
Member member = null;
|
|
|
|
Member member = null;
|
|
|
|
while(rs.next()) {
|
|
|
|
if (rs.next()) {
|
|
|
|
|
|
|
|
member = resultSetToMember(rs); // 将结果集转换为Member对象
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
closeResources();
|
|
|
|
|
|
|
|
return member;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 将结果集转换为Member对象的方法
|
|
|
|
|
|
|
|
private Member resultSetToMember(ResultSet rs) throws SQLException {
|
|
|
|
int memberId = rs.getInt("memberId");
|
|
|
|
int memberId = rs.getInt("memberId");
|
|
|
|
|
|
|
|
String userName = rs.getString("userName");
|
|
|
|
String password = rs.getString("password");
|
|
|
|
String password = rs.getString("password");
|
|
|
|
Timestamp registerTime = rs.getTimestamp("registerTime");
|
|
|
|
Timestamp registerTime = rs.getTimestamp("registerTime");
|
|
|
|
int ifUse = rs.getInt("ifUse");
|
|
|
|
int ifUse = rs.getInt("ifUse");
|
|
|
|
Timestamp logintimes = rs.getTimestamp("logintimes");
|
|
|
|
Timestamp logintimes = rs.getTimestamp("logintimes");
|
|
|
|
member = new Member(memberId, userName, password, registerTime, ifUse, logintimes);
|
|
|
|
return new Member(memberId, userName, password, registerTime, ifUse, logintimes);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭数据库资源的方法
|
|
|
|
|
|
|
|
private void closeResources() {
|
|
|
|
|
|
|
|
if (rs != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
rs.close();
|
|
|
|
rs.close();
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pstmt != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
pstmt.close();
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (conn != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
conn.close();
|
|
|
|
conn.close();
|
|
|
|
return member;
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|