DAO接口及实现类

DAO接口中定义了所有的用户操作,如添加记录、删除记录及查询记录。

1 package chapter13;
2 import java.util.*;
3 public interface UserDAO {
4     public void insert(User user) throws Exception;
5     public void update(User user) throws Exception;
6     public void delete(int userid) throws Exception;
7     public User queryById(int userid) throws Exception;
8     public List<User> queryAll() throws Exception;
9 }

DAO实现类实现了DAO接口,并且实现了接口中定义的所有方法。

  1 package chapter13;
  2 
  3 import java.util.*;
  4 import java.sql.*;
  5 import java.sql.Date;
  6 
  7 public class UserDAOImpl implements UserDAO {
  8 
  9     @Override
 10     public void insert(User user) throws Exception {
 11         // TODO Auto-generated method stub
 12         String sql="insert into user(username,password) values(?,?)";
 13         PreparedStatement preparedStatement=null;
 14         DataBaseConnection dbc=null;
 15         try{
 16             dbc=new DataBaseConnection();
 17             preparedStatement=dbc.getConnection().prepareStatement(sql);
 18             preparedStatement.setString(1, user.getUserName());
 19             preparedStatement.setString(2, user.getPassword());
 20             preparedStatement.executeUpdate();
 21             preparedStatement.close();
 22         }
 23         catch(Exception e){
 24             throw new Exception("操作出现异常");
 25         }finally {
 26             dbc.close();
 27         }
 28 
 29     }
 30 
 31     @Override
 32     public void update(User user) throws Exception {
 33         // TODO Auto-generated method stub
 34         String sql="update user set username=?,password=? where userid=?";
 35         PreparedStatement preparedStatement=null;
 36         DataBaseConnection dbc=null;
 37         try{
 38             dbc=new DataBaseConnection();
 39             preparedStatement=dbc.getConnection().prepareStatement(sql);
 40             preparedStatement.setString(1, user.getUserName());
 41             preparedStatement.setString(2, user.getPassword());
 42             preparedStatement.setInt(3, user.getUserId());
 43             preparedStatement.executeUpdate();
 44             preparedStatement.close();
 45         }
 46         catch(Exception e){
 47             throw new Exception("操作出现异常");
 48         }finally {
 49             dbc.close();
 50         }
 51     }
 52 
 53     @Override
 54     public void delete(int userid) throws Exception {
 55         // TODO Auto-generated method stub
 56         String sql="delete from user where userid=?";
 57         PreparedStatement preparedStatement=null;
 58         DataBaseConnection dbc=null;
 59         try{
 60             dbc=new DataBaseConnection();
 61             preparedStatement=dbc.getConnection().prepareStatement(sql);
 62             preparedStatement.setInt(1, userid);
 63             preparedStatement.executeUpdate();
 64             preparedStatement.close();
 65         }
 66         catch(Exception e){
 67             throw new Exception("操作出现异常");
 68         }finally {
 69             dbc.close();
 70         }
 71     }
 72 
 73     @Override
 74     public User queryById(int userid) throws Exception {
 75         // TODO Auto-generated method stub
 76         User user=null;
 77         String sql="select * from user where userid=?";
 78         PreparedStatement preparedStatement=null;
 79         DataBaseConnection dataBaseConnection=null;
 80         try{
 81             dataBaseConnection=new DataBaseConnection();
 82             preparedStatement=dataBaseConnection.getConnection().prepareStatement(sql);
 83             ResultSet rSet=preparedStatement.executeQuery();
 84             if(rSet.next()){
 85                 user=new User();
 86                 user.setUserId(rSet.getInt(1));
 87                 user.setUserName(rSet.getString(2));
 88                 user.setPassword(rSet.getString(3));
 89             }
 90             rSet.close();
 91             preparedStatement.close();
 92         }
 93         catch(Exception e){
 94             throw new Exception("操作出现异常");
 95         }finally {
 96             dataBaseConnection.close();
 97         }
 98         return user;
 99     }
100 
101     @Override
102     public List<User> queryAll() throws Exception {
103         // TODO Auto-generated method stub
104         List<User> all=new ArrayList<User>();
105         String sql="select * from user";
106         PreparedStatement preparedStatement=null;
107         DataBaseConnection dataBaseConnection=null;
108         try{
109             dataBaseConnection=new DataBaseConnection();
110             preparedStatement=dataBaseConnection.getConnection().prepareStatement(sql);
111             ResultSet rSet=preparedStatement.executeQuery();
112             if(rSet.next()){
113                 User user=new User();
114                 user=new User();
115                 user.setUserId(rSet.getInt(1));
116                 user.setUserName(rSet.getString(2));
117                 user.setPassword(rSet.getString(3));
118                 all.add(user);
119             }
120             rSet.close();
121             preparedStatement.close();
122         }
123         catch(Exception e){
124             throw new Exception("操作出现异常");
125         }finally {
126             dataBaseConnection.close();
127         }
128         return all;
129     }
130 
131 }

 

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值