JDBC四部曲之一

1 JDBC简介

  • JDBC是SUN公司为了简化操作数据库而推出的一种规范。
  • 数据库厂商的驱动就是对JDBC的实现。

2 JDBC的开发

2.1 mysql驱动的pom.xml

 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.47</version>
 </dependency>

2.2 准备工作

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('1', '许巍');
INSERT INTO `user` VALUES ('2', '许威威');

2.3 JDBC的编码步骤

  • ①注册驱动。
  • ②获取和数据库的连接。
  • ③创建代表SQL语句的执行对象。
  • ④执行SQL语句。
  • ⑤如果是查询语句,需要遍历结果集。
  • ⑥释放占用的资源。

2.4 JDBC的应用

  • 示例:
package com.xuweiwei;

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

public class jdbc1 {
    public static void main(String[] args) throws Exception {
        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        String url = "jdbc:mysql://localhost:3306/test";
        String user = "root";
        String password = "123456";

        //获取连接
        Connection connection = DriverManager.getConnection(url,user,password);

        String sql = " select id,name from user  ";

        Statement statement = connection.createStatement();

        ResultSet rs = statement.executeQuery(sql);

        while(rs.next()){
            int id = rs.getInt(1);
            String name = rs.getString(2);
            System.out.println("id:"+id+",name:"+name);
        }

        rs.close();
        statement.close();
        connection.close();


    }
}

3 JDBC中常用的接口详解

3.1 DriverManager

  • 作用:
  • ①注册驱动。
    • 方式一:(不建议使用),因为会依赖具体的驱动,并且会将驱动注册2遍。  
  DriverManager.registerDriver(new com.mysql.jdbc.Driver());  
    • 方式二:(推荐)  
Class.forName("com.mysql.jdbc.Driver");
  • ②获取和数据库的连接。
public static Connection getConnection(String url,String user,String password) throws SQLException
public static Connection getConnection(String url,Properties info) throws SQLException

3.2 Connection

  • 所有的数据库操作都是基于连接之上。
// 创建向数据库发送SQL的Statement对象
public Statement createStatement();

3.3 Statement

  • 作用:代表SQL语句的对象。可以向数据库发送任何的SQL语句。
//SQL一般都是查询语句
ResultSet executeQuery(String sql) ;
//SQL一般都是DML
int executeUpdate(String sql) throws SQLException

3.4 ResultSet

  • 作用:封装了查询的结果集。

猜你喜欢

转载自www.cnblogs.com/xuweiweiwoaini/p/9632509.html