随笔 - 86  文章 - 5  评论 - 11  阅读 - 10万 
1.1 为什么需要JDBC
JDBC(Java Database Connectivity) 是java应用程序和数据库的连接技术的简称,提供连接各种常用数据库的能力。
JDBC是sun公司推出的一套用于访问不同数据库的规范或标准(一组接口或抽象类)、java.sql.*
1.2 JDBC的使用
1.2.1 工作原理
(1)JDBC API:提供供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:DriverManager类、Connection接口、Statement接口、ResultSet接口
(2)DriverManager:依据数据库的不同,管理各种不同的JDBC驱动。
 
(3)JDBC 驱动:由数据库厂商提供,负责连接各种不同的数据库。
(4)JDBC API主要功能:与数据库建立连接、执行SQL 语句、处理结果。
 
DriverManager :依据数据库的不同,管理JDBC驱动。
Connection :负责连接数据库并担任传送数据的任务。
Statement :由 Connection 产生、负责执行SQL语句。
ResultSet:负责保存Statement执行后所产生的查询结果。
 
1.2.2  使用流程
  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"));
        }
    }
    
}
复制代码

 

 

posted on   史振兴  阅读(157)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示