百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

一男子花10w才学会Java 如何使用JDBC连接数据库

wxin55 2024-11-20 22:41 7 浏览 0 评论

这篇文章主要介绍了Java 如何使用JDBC连接数据库,帮助大家更好地理解和学习使用Java,感兴趣的朋友可以了解下

一、使用JDBC连接数据库
1.使用JDBC-ODBC桥驱动程序连接数据库
基本步骤:
(1)加载并注册数据库驱动
(2)通过DriverManager获取数据库连接
(3)通过Connection对象获取Statement对象
(4)使用Statement接口执行SQL语句
(5)操作ResultSet结果集
(6)关闭连接,释放资源
2.下面进行代码演示
1.注册数据库驱动程序的语法格式如下:

DriverManager.registerDriver(Driver driver)

或者

Class.forName("DriverName");

2.创建数据库连接

String url = "jdbc:odbc:student";
//student是在数据源管理器中创建的数据源名字
Connection con = DriverManager.getConnection(url);
//一下语句是采用了一种无数据源连接数据库的方式
con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};
DBQ=d:\\xsgl.mdb")

3.获取Statement对象
可见之前连载的三种成员方法创建Statement对象、PreparedStatement对象、CallableStatement对象

4.执行SQL语句
所有的Statement都有以下三种执行SQL语句的方法
(1)execute():可以执行任何SQL语句
(2)executeQuery():执行查询语句,返回ResultSet对象
(3)executeUpate():执行增删改操作

5.获得结果结合ResultSet对象,在进行一系列操作。
举例:

`package` `com.bjpowernode.java_learning;`

`import` `java.sql.Statement;`

`import` `java.sql.Connection;`

`import` `java.sql.ResultSet;`

`import` `java.sql.SQLException;`

`public` `class` `D134_1_JDBCConnection {`

`public` `static` `void` `main(String[] args) {`

`Statement stmt =` `null``;`

`ResultSet rs =` `null``;`

`Connection conn =` `null``;`

`try` `{`

`//1.注册数据库的驱动程序`

`Class.forName(``"com.hxtt.sql.access.AccessDriver"``);`

`//2.通过DriverManager获取数据库连接`

`conn = DriverManager.getConnection(``"jbdc:[Access:///e:xsgl.mdb](access:///e:xsgl.mdb)"``);`

`//3.通过Connection对象获取Statement对象`

`stmt = conn.createStatement();`

`//4.使用Statement执行SQL语句`

`String sql =` `"select * from studentInfo"``;`

`rs = stmt.executeQuery(sql);`

`//5.操作ResultSet结果集`

`System.out.println(``"studentID | studentName | studentSEX"``);`

`while``(rs.next()) {`

`int` `id = rs.getInt(``"studentID"``);``//通过列名获取指定字段的值`

`String name = rs.getString(``"studentName"``);`

`String psw = rs.getString(``"studentSEX"``);`

`System.out.println(id +` `" | "` `+ name +` `" | "` `+ psw);`

`}`

`}``catch``(Exception e) {`

`e.printStackTrace();`

`}``finally` `{`

`//6.回收数据库资源`

`if` `(rs !=` `null``) {`

`try` `{`

`rs.close();`

`}``catch``(SQLException e) {`

`e.printStackTrace();`

`}`

`rs =` `null``;`

`}`

`if``(stmt !=` `null``) {`

`try` `{`

`stmt.close();`

`}``catch``(SQLException e) {`

`e.printStackTrace();`

`}`

`stmt =` `null``;`

`}`

`if` `(conn !=` `null``) {`

`try` `{`

`conn.close();`

`}``catch``(SQLException e) {`

`e.printStackTrace();`

`}`

`conn =` `null``;`

`}`

`}`

`}`

`}`

3.注意点

  • JDK1.7以后的版本不再包含Access桥接驱动程序,因此不再支持JDBC-ODBC桥接方式,需要下载Access驱动程序的jar包(Access_JDBC30.jar),而JDK1.1到JDK1.6都自带jar包,不需要下载。
  • 下载完成后把Access_JDBC30.jar包放到JDK的lib文件夹里,之后修改环境变量CLASSPATH,在其中加上这个jar包,路径为jar包的绝对路径,例如:C:\ProgramFiles\Java\jre1.8.0_65\lib\Access_JDBC30.jar。如果CLASSPATH中已经有了其他的值,最后添加该包就可以了。然后在工程里面设置好,至此就可以正常连接数据库了,但是驱动的名称就不是sun.jdbc.odbc.JdbcOdbcDriver,而是com.hxtt.sql.access.AccessDriver,数据库路径也可以采用直连,URL可以设置为jdbc:Access:///d:MYDB.accdb

二、源码:
D134_1_JDBCConnection.java
https://github.com/ruigege66/Java/blob/master/D134_1_JDBCConnection.java

以上就是Java 如何使用JDBC连接数据库的详细内容,更多关于Java 使用JDBC连接数据库的资料请关注小编或私信备注(资料)

相关推荐

ES6中 Promise的使用场景?(es6promise用法例子)

一、介绍Promise,译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码doSomething(f...

JavaScript 对 Promise 并发的处理方法

Promise对象代表一个未来的值,它有三种状态:pending待定,这是Promise的初始状态,它可能成功,也可能失败,前途未卜fulfilled已完成,这是一种成功的状态,此时可以获取...

Promise的九大方法(promise的实例方法)

1、promise.resolv静态方法Promise.resolve(value)可以认为是newPromise方法的语法糖,比如Promise.resolve(42)可以认为是以下代码的语...

360前端一面~面试题解析(360前端开发面试题)

1.组件库按需加载怎么做的,具体打包配了什么-按需加载实现:借助打包工具(如Webpack的require.context或ES模块动态导入),在使用组件时才引入对应的代码。例如在V...

前端面试-Promise 的 finally 怎么实现的?如何在工作中使用?

Promise的finally方法是一个非常有用的工具,它无论Promise是成功(fulfilled)还是失败(rejected)都会执行,且不改变Promise的最终结果。它的实现原...

最简单手写Promise,30行代码理解Promise核心原理和发布订阅模式

看了全网手写Promise的,大部分对于新手还是比较难理解的,其中几个比较难的点:状态还未改变时通过发布订阅模式去收集事件实例化的时候通过调用构造函数里传出来的方法去修改类里面的状态,这个叫Re...

前端分享-Promise可以中途取消啦(promise可以取消吗)

传统Promise就像一台需要手动组装的设备,每次使用都要重新接线。而Promise.withResolvers的出现,相当于给开发者发了一个智能遥控器,可以随时随地控制异步操作。它解决了三大...

手写 Promise(手写输入法 中文)

前言都2020年了,Promise大家肯定都在用了,但是估计很多人对其原理还是一知半解,今天就让我们一起实现一个符合PromiseA+规范的Promise。附PromiseA+规范地址...

什么是 Promise.allSettled()!新手老手都要会?

Promise.allSettled()方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的pr...

前端面试-关于Promise解析与高频面试题示范

Promise是啥,直接上图:Promise就是处理异步函数的API,它可以包裹一个异步函数,在异步函数完成时抛出完成状态,让代码结束远古时无限回掉的窘境。配合async/await语法糖,可...

宇宙厂:为什么前端离不开 Promise.withResolvers() ?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.为什么需要Promise.with...

Promise 新增了一个超实用的 API!

在JavaScript的世界里,Promise一直是处理异步操作的神器。而现在,随着ES2025的发布,Promise又迎来了一个超实用的新成员——Promise.try()!这个新方法简...

一次搞懂 Promise 异步处理(promise 异步顺序执行)

PromisePromise就像这个词的表面意识一样,表示一种承诺、许诺,会在后面给出一个结果,成功或者失败。现在已经成为了主流的异步编程的操作方式,写进了标准里面。状态Promise有且仅有...

Promise 核心机制详解(promise机制的实现原理)

一、Promise的核心状态机Promise本质上是一个状态机,其行为由内部状态严格管控。每个Promise实例在创建时处于Pending(等待)状态,此时异步操作尚未完成。当异步操作成功...

javascript——Promise(js实现promise)

1.PromiseES6开始支持,Promise对象用于一个异步操作的最终完成(包括成功和失败)及结果值的表示。简单说就是处理异步请求的。之所以叫Promise,就是我承诺,如果成功则怎么处理,失败怎...

取消回复欢迎 发表评论: