jdbc数据库连接之jdbcUtils工具类抽取

 JDBC数据库连接
1.准备数据库
 初始化数据库和表:
        CREATE DATABASE day07;
        USE day07;    
        
        create table category(
            cid varchar(20) primary key,
            cname varchar(20)
        );
        
        insert into category values(‘c001‘,‘电器‘);
        insert into category values(‘c002‘,‘服饰‘);
        insert into category values(‘c003‘,‘化妆品‘);
        insert into category values(‘c004‘,‘书籍‘);
  db.properties
  jdbc.driverClass=com.mysql.jdbc.Driver
  jdbc.url=jdbc:mysql://localhost:3306/test
  jdbc.username=root
  jdbc.password=123
2.新建一个测试类
3.对jdbc进行抽取工具类
package com.demo.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ResourceBundle;public class jdbcUtils { public static final String DRIVERCLASS; public static final String URL; public static final String USERNAME; public static final String PASSWORD; static{      //加载配置文件 ResourceBundle bundle = ResourceBundle.getBundle("db"); DRIVERCLASS= bundle.getString("jdbc.driverClass"); URL = bundle.getString("jdbc.url"); USERNAME = bundle.getString("jdbc.username"); PASSWORD = bundle.getString("jdbc.password"); } //静态方法加载驱动 static{ try { Class.forName(DRIVERCLASS); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //获取连接 public static Connection getConnection() throws Exception{ return DriverManager.getConnection(URL,USERNAME,PASSWORD); } //释放资源 public static void closeReasoure(Connection conn,Statement st,ResultSet rs ){ closeResultSet(rs); closeStatement(st); closeConn(conn); } /** * 释放连接 * @param conn 连接 */ public static void closeConn(Connection conn){ if(conn != null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ conn=null; } } } /** * 释放语句执行者 * @param st 执行者 */ public static void closeStatement(Statement st){ if(st != null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ st=null; } } } /* * * * @param rs * * */ /** * 释放结果集 * @param rs 结果集 */ public static void closeResultSet(ResultSet rs){ if(rs != null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ rs=null; } } }}

 

 

 
 1 package com.demo.jdbc; 2  3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 import java.util.ResourceBundle; 9 10 11 12 public class jdbcUtils {13 14 //获取连接15 public static Connection getConnection() throws Exception{16 17 ResourceBundle bundle = ResourceBundle.getBundle("db");18 String driverClass = bundle.getString("jdbc.driverClass");19 String url = bundle.getString("jdbc.url");20 String username = bundle.getString("jdbc.username");21 String password = bundle.getString("jdbc.password");22 23  Class.forName(driverClass);24 Connection conn = DriverManager.getConnection(url,username,password);25 return conn;26 27  }28 //释放资源29 public static void closeReasoure(Connection conn,Statement st,ResultSet rs ){30  closeResultSet(rs);31  closeStatement(st);32  closeConn(conn);33 34 35  }36 37 38 /**39  * 释放连接40  * @param conn 连接41 */42 public static void closeConn(Connection conn){43 if(conn != null){44 try {45  conn.close();46 } catch (SQLException e) {47 // TODO Auto-generated catch block48  e.printStackTrace();49 }finally{50 conn=null;51  }52  }53  }54 55 56 57 /**58  * 释放语句执行者59  * @param st 执行者60 */61 public static void closeStatement(Statement st){62 if(st != null){63 try {64  st.close();65 } catch (SQLException e) {66 // TODO Auto-generated catch block67  e.printStackTrace();68 }finally{69 st=null;70  }71  }72  }73 74 /*75  * 76  * 77  * @param rs 78  * 79  * */80 81 /**82  * 释放结果集83  * @param rs 结果集84 */85 public static void closeResultSet(ResultSet rs){86 if(rs != null){87 try {88  rs.close();89 } catch (SQLException e) {90 // TODO Auto-generated catch block91  e.printStackTrace();92 }finally{93 rs=null;94  }95  }96  }97 }

 


1
package com.demo.jdbc; 2 3 import static org.junit.Assert.*; 4 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 10 import org.junit.Test;11 12 import com.mysql.jdbc.Driver;13 14 /**15 * @author Administrator16 *17 */18 /**19 * @author Administrator20 *21 */22 /**23 * @author Administrator24 *25 */26 public class hello {27 @Test28 public void testjdbc() throws Exception {29 //注册驱动30 Class.forName("com.mysql.jdbc.Driver");31 //获取连接对象32 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123");33 //编写SQL语句34 String sql = "select * from category";35 //创建执行者对象36 PreparedStatement prepareStatement = con.prepareStatement(sql);37 //设置参数38 39 //执行sql40 ResultSet rs = prepareStatement.executeQuery();41 //处理结果集42 while(rs.next()){43 System.out.println(rs.getString("cid")+"::"+rs.getString("cname"));44 }45 //释放资源46 rs.close();47 prepareStatement.close();48 con.close();49 50 }51 52 //插入数据()53 @Test54 public void testjdbcUtils(){55 Connection conn=null;56 ResultSet rs=null;57 PreparedStatement st = null;58 59 //获取连接60 try {61 conn= jdbcUtils.getConnection();62 63 String sql = "insert into category values(?,?)";64 65 st = conn.prepareStatement(sql);66 67 st.setString(1,"c005");68 st.setString(2, "户外");69 70 int i=st.executeUpdate();71 72 if(i==1){73 System.out.println("success");74 }else{75 System.out.println("fail");76 }77 78 } catch (Exception e) {79 80 e.printStackTrace();81 82 }finally{83 //释放资源84 jdbcUtils.closeReasoure(conn, st, rs);85 }86 }87 }

 

package com.demo.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class jdbcUtils {
    public static final String DRIVERCLASS;
    public static final String URL;
    public static final String USERNAME;
    public static final String PASSWORD;
    static{

        ResourceBundle bundle = ResourceBundle.getBundle("db");
        DRIVERCLASS= bundle.getString("jdbc.driverClass");
        URL = bundle.getString("jdbc.url");
        USERNAME = bundle.getString("jdbc.username");
        PASSWORD = bundle.getString("jdbc.password");
        
    }
    //获取连接
    public static Connection getConnection() throws Exception{
        
        Class.forName(DRIVERCLASS);
        Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
        return conn;
        
    }
    //释放资源
    public static void closeReasoure(Connection conn,Statement st,ResultSet rs ){
        closeResultSet(rs);
        closeStatement(st);
        closeConn(conn);
            
        
    }
    
    
    /**
     * 释放连接
     * @param conn 连接
     */
    public static void closeConn(Connection conn){
        if(conn != null){
            try {
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                conn=null;
            }
        }
    }
    

    
    /**
     * 释放语句执行者
     * @param st  执行者
     */
    public static void closeStatement(Statement st){
        if(st != null){
            try {
                st.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                st=null;
            }
        }
    }
    
    /*
     *
     *
     * @param rs
     *
     * */
    
    /**
     * 释放结果集
     * @param rs 结果集
     */
    public static void closeResultSet(ResultSet rs){
        if(rs != null){
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally{
                rs=null;
            }
        }
    }
}

相关文章