【读书笔记】《码农翻身》jdbc

《码农翻身》p108-p119

 

1.工厂模式,不同的数据库实现不同的Driver,产生不同的Connection去操作数据库.

2.通过Class.forName("com.xx.Driver").来加载Driver.Driver接口的同名实现类通过静态代码块将Driver实例注册到DriverManager中。

3.通过DriverManager.getConnection 选择注册的具体Driver实例来得到Connection实例。

//普通的jdbc操作

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


public class javaTest {
   
    public static void main(String[] args) throws ClassNotFoundException, SQLException  {
        String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
        String USER="root";
        String PASSWORD="tiger";
        //1.加载驱动程序
        Class.forName("com.mysql.jdbc.Driver");//1
        //2.获得数据库链接
        Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);//2
        //3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("select * from user");
        //4.处理数据库的返回结果(使用ResultSet类)
        while(rs.next()){
            System.out.println(rs.getString("user_name")+" "
                          +rs.getString("user_password"));
        }
        
        //关闭资源
        rs.close();
        st.close();
        conn.close();
    }

}

1)执行第一步的时候,会执行静态代码块把真正的Driver注册入DriverManager

mysql-connector-java-5.1.46.jar!\com\mysql\jdbc\Driver.class

第三方包引入了jdk提供的注册接口DriverManager.registerDriver

 

java.sql.DriverManager

2)

把注册的Driver 取出来。

用不同厂商实现的driver来connect获取Connection

其他资料:

一个不安分的JDBC驱动

posted @ 2018-08-23 13:04  thewindkee  阅读(121)  评论(0编辑  收藏  举报