1. 程式人生 > >數據庫訪問JavaBean的設計

數據庫訪問JavaBean的設計

exec amp ade 工具 update n! getclass port red

1.在數據庫test建表技術分享

2.在類路徑(src)下建立文件db.properties

driver=com.mysql.jdbc.Driver;
url=jdbc\:mysql\://localhost\:3306/test?useUnicode\=true&characterEncoding\=utf-8;
user=root;
password=123456;

3.建立一個連接和釋放資源的工具類JdbcUtil.java

package dbc;

import java.sql.*;
import java.util.Properties;  
public final class
JdbcUtil { private static String driver; private static String user; private static String password; private static String url; private static Properties pr=new Properties(); private JdbcUtil(){} // static{ try { pr.load(JdbcUtil.class
.getClassLoader().getResourceAsStream("db.properties")); driver= pr.getProperty("driver"); url = pr.getProperty("url"); user = pr.getProperty("username"); password = pr.getProperty("password"); Class.forName(driver); }
catch (Exception e) { throw new ExceptionInInitializerError(e); } } // public static Connection getConnection()throws SQLException { return DriverManager.getConnection(url, user, password); } // public static void free(ResultSet rs,Statement st,Connection conn) { try { if(rs!=null) rs.close(); }catch (SQLException e) { e.printStackTrace(); }finally{ try { if(st!=null) st.close(); }catch (SQLException e) { e.printStackTrace(); } finally{ if(conn!=null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }

4.建立類User.java實現記錄信息對象化,體現面向對象程序設計思想。

package vo;

public class User 
{
    private String userid,username,sex;
    public String getUserid(){return userid;}
    public void setUserid(String userid){this.userid=userid;}
    public String getUsername(){return username;}
    public void setUsername(String username){this.username=username;}
    public String getSex(){return sex;}
    public void setSex(String sex){this.sex=sex;}
}

5.在上面步驟的基礎上建立類UserDao.java封裝基本的數據庫。

package dao;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

import vo.User;
import dbc.JdbcUtil;
public class UserDao {
    public void add(User user)throws Exception{
        Connection conn=null;
        PreparedStatement ps=null;
        try{
            conn=JdbcUtil.getConnection();
            String sql="insert into user values(?,?,?)";
            ps=conn.prepareStatement(sql);
            ps.setString(1,user.getUserid());
            ps.setString(2,user.getUsername());
            ps.setString(3,user.getSex());
            ps.executeUpdate();            
        }finally{JdbcUtil.free(null,ps,conn);}
    }
    public void update(User user)throws Exception{
        Connection conn=null;
        PreparedStatement ps=null;
        try{
            conn=JdbcUtil.getConnection();
            String sql="update user set username=?,sex=? where userid=?";
            ps=conn.prepareStatement(sql);
            ps.setString(1,user.getUserid());
            ps.setString(2,user.getUsername());
            ps.setString(3,user.getSex());
            ps.executeUpdate();            
        }finally{JdbcUtil.free(null,ps,conn);}
    }

public void delete(String userId)throws Exception{
    Connection conn=null;
    PreparedStatement ps=null;
    try{
        conn=JdbcUtil.getConnection();
        String sql="delete from user where userid=?";
        ps=conn.prepareStatement(sql);
        ps.setString(1,userId);
        ps.executeUpdate();            
    }finally{JdbcUtil.free(null,ps,conn);}
}
    public User findUserById(String userId)throws Exception{
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        User user=null;
        try{
            conn=JdbcUtil.getConnection();
            String sql="select* from user where userid=?";
            ps=conn.prepareStatement(sql);
            ps.setString(1,userId);
            rs=ps.executeQuery();        
            if(rs.next()){
                user=new User();
                user.setUserid(rs.getString(1));
                user.setUsername(rs.getString(2));
                user.setSex(rs.getString(3));
            }
        }finally{JdbcUtil.free(null,ps,conn);}
            return user;
    }
    public List<User> QueryAll()throws Exception{
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        List<User>userList=new ArrayList<User>();
        try{
            conn=JdbcUtil.getConnection();
            String sql="select* from user";
            ps=conn.prepareStatement(sql);
            rs=ps.executeQuery();
            while(rs.next()){
                User user=new User();
                user.setUserid(rs.getString(1));
                user.setUsername(rs.getString(2));
                user.setSex(rs.getString(3));
                userList.add(user);
            }
        }finally{
            JdbcUtil.free(rs, ps, conn);
        }
        return userList;
        
        
        
    }
}

數據庫訪問JavaBean的設計