UserDaoImpl实现了简单CRUD

本文介绍了一个基于Java的用户管理模块实现,包括用户的增删改查等基本操作。通过具体的代码示例展示了如何使用JDBC连接数据库并执行SQL语句来完成这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

未做细节处理和异常处理。


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.yps.bean.User;
import com.yps.dao.UserDao;
import com.yps.util.JdbcUtil;

public class UserDaoImpl implements UserDao {

	@Override
	public void addUser( User user) {
		PreparedStatement state=null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			conn=JdbcUtil.getConnection();
			String sql=" INSERT INTO user VALUES(?,?,?,?.?) ";
			state=conn.prepareStatement(sql);
			state.setString(1, user.getId());
			state.setString(2, user.getUsername());
			state.setString(3, user.getPassword());
			state.setString(4, user.getEmail());
			state.setDate(5,new java.sql.Date(user.getBirthday().getTime()));
			
			state.executeUpdate();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}finally{
			JdbcUtil.release(rs, state, conn);
			
		}

	}

	@Override
	public void deleteUser(String id) throws Exception {
		PreparedStatement state=null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			conn=JdbcUtil.getConnection();
			String sql=" DELETE FROM  user WHERE id=? ";
			state=conn.prepareStatement(sql);
			state.setString(1, id);
			state.executeUpdate();
			
		} catch (Exception e) {
			throw new RuntimeException(e);
		}finally{
			JdbcUtil.release(rs, state, conn);
			
		}


	}

	@Override
	public User findUserById(String id) {
		User s=null;
		PreparedStatement state=null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			conn=JdbcUtil.getConnection();
			String sql="SELECT username FROM user WHERE id=? ";
			state=conn.prepareStatement(sql);
			state.setString(1, id);
			rs=state.executeQuery();
			while(rs.next()){
				 s= new User();
				 s.setId(rs.getString("id"));
				 s.setUsername(rs.getString("username"));
				 s.setPassword(rs.getString("password"));
				 s.setEmail(rs.getString("email"));
				 s.setBirthday(rs.getDate("birthday"));
			}
			
		} catch (Exception e) {
			throw new RuntimeException(e);
		}finally{
			JdbcUtil.release(rs, state, conn);
			
		}
		return s;
	}

	@Override
	public void updateUser(User user) throws Exception {
		
		PreparedStatement state=null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			conn=JdbcUtil.getConnection();
			String sql=" UPDATE user SET username=?, password=?,email=?,birthday=? WHERE id=?";
			state=conn.prepareStatement(sql);
			state.setString(1, user.getUsername());
			state.setString(2, user.getPassword());
			state.setString(3, user.getEmail());
			state.setDate(4,new java.sql.Date(user.getBirthday().getTime()));
			state.setString(5, user.getId());
			state.executeUpdate();
		} catch (Exception e) {
			throw new RuntimeException(e);
		}finally{
			JdbcUtil.release(rs, state, conn);	
		}
	}

	@Override
	public List<User> findUsers() {
		List<User> list=new ArrayList<User>();
		
		PreparedStatement state=null;
		Connection conn=null;
		ResultSet rs=null;
		try {
			conn=JdbcUtil.getConnection();
			String sql="SELECT * FROM user";
			state=conn.prepareStatement(sql);
			rs=state.executeQuery();
			while(rs.next()){
				User user=new User();
				user.setId(rs.getString("id"));
				user.setUsername(rs.getString("username"));
				user.setPassword(rs.getString("password"));
				user.setEmail(rs.getString("email"));
				user.setBirthday(rs.getDate("birthday"));
				
				list.add(user);
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		}finally{
			JdbcUtil.release(rs, state, conn);	
		}
		
		return list;
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值