JDBC学习笔记(一)基本流程

一、用JDBC连接mysql数据库基本流程

  

// 1.注册驱动
Class.forName("com.mysql.jdbc.Driver");        
// 2.建立连接
String url = "jdbc:mysql://localhost:3306/jdbc";

String user = "root";
String password = "";
Connection conn = DriverManager.getConnection(url, user, password);
// 3.创建语句 Statement st = conn.createStatement(); // 4.执行语句 ResultSet rs = st.executeQuery("select id,name,age,money from user"); // 5.处理结果 while(rs.next()) { System.out.print(rs.getObject("id") + "---"); System.out.print(rs.getObject("name") + "---"); System.out.print(rs.getObject("age") + "---"); System.out.println(rs.getObject("money")); } // 6.释放资源 rs.close();
st.close();
conn.close();

 

二、各流程详解

  1. 注册驱动(只做一次),有三种方式:

1  // 方式一(推荐使用):
2  Class.forName("com.mysql.jdbc.Driver");
3 
4  // 方式二:
5  System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");
6 
7  // 方式三:
8  DriverManager.registerDriver(new com.mysql.jdbc.Driver());

   其中方式三,会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖,所以不推荐使用。

   方式二虽然不会对具体的驱动类产生依赖,但是注册不太方便,因此也很少使用。

   方式一不会对具体的驱动类产生依赖,书写也比较方便,推荐使用。

  

  2. 建立连接(Connection)

   (1) 代码格式:

     Connection conn = DriverManager.getConnection(url, user, password);

   (2) url格式:

     JDBC:子协议:子名称//主机名:端口/数据库名?属性名=属性值&....

     如果主机名与端口号是缺省值,主机名与端口可省略:

     JDBC:子协议:子名称///数据库名?属性名=属性值&....

   (3) User, Password可以用“属性名=属性值”的方式告诉数据库。

   (4) 其他参数如:

     useUnicode = true&characterEncoding=GBK.

 

  3. 创建可执行sql语句的对象(Statement)

    Statement st = conn.createStatement();

  4. 执行sql语句,用ResultSet对象接收执行结果

    ResultSet rs = st.executeQuery("select id,name,age,money from user");

  5. 用rs.next()遍历查询到的结果

    while(rs.next())
      {
        System.out.print(rs.getObject("id") + "---");
        System.out.print(rs.getObject("name") + "---");
        System.out.print(rs.getObject("age") + "---");
        System.out.println(rs.getObject("money"));
      }

  6. 释放资源时,按创建时的逆序关闭

    rs.close();

    st.close();

    conn.close();

posted @ 2017-02-01 14:01  Java_xb  阅读(342)  评论(0编辑  收藏  举报