JavaSE04(JavaSE库存管理01)

一、JDBC

1、JDBC

JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力。
JavaSE04(JavaSE库存管理01)

2、工作原理

JDBC API:提供供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:
DriverManager类
Connection接口
Statement接口
ResultSet接口

DriverManager:依据数据库的不同,管理各种不同的JDBC驱动。
JDBC 驱动:由数据库厂商提供,负责连接各种不同的数据库。

JDBC API主要功能:与数据库建立连接、执行SQL 语句、处理结果。
DriverManager :依据数据库的不同,管理JDBC驱动。
Connection :负责连接数据库并担任传送数据的任务。
Statement :由 Connection 产生、负责执行SQL语句。
ResultSet:负责保存Statement执行后所产生的查询结果。
JavaSE04(JavaSE库存管理01)

3、使用流程

JDBC的使用流程如下:
try {
//1.加载JDBC驱动
Class.forName(JDBC驱动类);
}
… …
try {
//2.与数据库建立连接
Connection con=DriverManager.getConnection(URL,数据库用户名,密码);
//3.发送SQL语句并得到结果
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(“SELECT a, b, c FROM Table1”);
//4.处理返回结果
while (rs.next()) {
int x = rs.getInt(“a”);
String s = rs.getString(“b”);
float f = rs.getFloat(“c”);
}
//5.释放资源
rs.close();
stmt.close();
con.close();
}

数据库访问基类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**

  • 数据库访问基类
    */
    public class BaseDao {
    //数据库驱动
    private String driver=“com.mysql.jdbc.Driver”;

    //数据库连接地址
    private String url=“jdbc:mysql://localhost:3306/orcl”;

    //数据库用户名
    private String name=“root”;
    //数据库密码
    private String password="";

    public Connection conn;//数据库连接对象
    public PreparedStatement ps;//数据库操作对象
    public ResultSet rs;//存放结果数据

    /**

    • 获取数据库连接
      */
      public Connection getConn(){
      try {
      Class.forName(driver);
      this.conn=DriverManager.getConnection(url,name,password);
      } catch (Exception e) {
      e.printStackTrace();
      }
      return conn;
      }

    public static void main(String[] args) throws Exception {
    //1. 获取连接
    Connection conn=new BaseDao().getConn();
    //2. 执行查询
    String sql=“select * from k_user”;
    PreparedStatement ps=conn.prepareStatement(sql);
    ResultSet rs=ps.executeQuery();
    //3. 循环输出数据
    while(rs.next()){
    System.out.println(“用户名是:”+rs.getString(“username”));
    }
    }

}

二、

三、