JDBC

Posted sty-88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

JDBC是由一系列连接(Connection)、SQL语句(Statement)和结果集(ResultSet)构成的,其主要作用概括起来有如下3个方面: 建立与数据库的连接。 向数据库发起查询请求。 处理数据库返回结果。

 

JDBC的工作原理

  1. JDBC API

提供者:Sun公司 内容:供程序员调用的接口与类,集成在java.sql和 javax.sql包中,如:DriverManager类Connection接口Statement接口ResultSet接口

  1. DriverManager

提供者:Sun公司作用:管理各种不同的JDBC驱动

  1. JDBC 驱动

提供者:数据库厂商作用:负责连接各种不同的数据库

?

 

? 使用纯Java方式连接数据库由JDBC驱动直接访问数据库优点:完全Java代码,快速、跨平台缺点:访问不同的数据库需要下载专用的JDBC驱动

 

jdbc编程模板


try {
     Class.forName(JDBC驱动类);
}

try {
     Connection con=DriverManager.getConnection(URL,数据库用户名,密码);
     
     Statement stmt = con.createStatement();
     ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM table1;");

     while (rs.next()) {
            int x = rs.getInt("a");
            String s = rs.getString("b");
            float f = rs.getFloat("c");
    }
     rs.close();
     stmt.close();  
     con.close();
}

?

 

JDBC驱动

使用纯Java方式连接数据库

由JDBC驱动直接访问数据库

优点:完全Java代码,快速、跨平台

缺点:访问不同的数据库需要下载专用的

 

 

Statement常用方法

方法名说 明
ResultSet executeQuery(String sql) 执行SQL查询并获取到ResultSet对象
int executeUpdate(String sql) 可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数
boolean execute(String sql) 可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSet

ResultSet常用方法

方法名说 明
boolean next() 将游标从当前位置向下移动一行
boolean previous() 游标从当前位置向上移动一行
void close() 关闭ResultSet 对象
int getInt(int colIndex) 以int形式获取结果集当前行指定列号值
int getInt(String colLabel) 以int形式获取结果集当前行指定列名值
float getFloat(int colIndex) 以float形式获取结果集当前行指定列号值
float getFloat(String colLabel) 以float形式获取结果集当前行指定列名值
String getString(int colIndex) 以String 形式获取结果集当前行指定列号值
String getString(String colLabel) 以String形式获取结果集当前行指定列名值

JDBC访问数据库的步骤

加载JDBC驱动与数据库建立连接创建Statement或PreparedStatement对象发送SQL语句,并得到返回结果处理返回结果释放资源

 

注意事项

遍历结果集中数据可使用列号或列名标识列PreparedStatement比Statement提高了代码的安全性、可读性和可维护性

 

 

以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

mysql jdbc源码分析片段 和 Tomcat's JDBC Pool

JDBC操作数据库之查询数据

如何在片段中填充列表视图?

在 myeclipse中进行连接sql server的测试

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段