Java 如何使用JDBC连接数据库
作者:心悦君兮君不知-睿 发布时间:2024-01-23 04:30:12
目录
一、使用JDBC连接数据库
1.使用JDBC-ODBC桥驱动程序连接数据库
2.下面进行代码演示
3.注意点
二、源码:
一、使用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");
//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
来源:https://www.cnblogs.com/ruigege0000/p/13460865.html
猜你喜欢
- 背景在程序员的职业生涯中,总会遇到数据库表被锁的情况,前些天就又撞见一次。由于业务突发需求,各个部门都在批量操作、导出数据,而数据库又未做读
- ORM模型介绍随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:SQL语句重复利用率不高,越复杂的S
- 本文为大家分享了mysql 5.7.17 winx64解压版安装配置方法,供大家参考,具体内容如下一、下载下载地址二、配置1. 解压下载的m
- 本节我们再来了解下 Requests 的一些高级用法,如文件上传,代理设置,Cookies 设置等等。1. 文件上传我们知道 Reqeues
- 背景 还是学院和专业的关系,我需要保持点击提交按钮后,页面select中继续维持提交前的值 网上有几种办法,要么通过url跳转时候附带参数形
- 一、python运算时精度问题1.运行时精度问题在Python中(其他语言中也存在这个问题,这是计算机采用二进制导致的),有时候由于二进制和
- github现在已经经常用了,但是经常遇到下面的问题比如:从一个项目A中fork了一个分支B,并且在分支B有了改动。过了几天后,项目A中的代
- 因为权限不够,导致Pycharm在运行脚本时报错:socket.error: [Errno 1] Operation not permitt
- 背景有一个项目,今年12月份开始重构,项目涉及到了socket。但是socket用的是以前一个开发人员封装的包(这个一直被当前的成员吐槽为什
- 前言在一个分布式环境中,每台机器上可能需要启动和停止多个进程,使用命令行方式一个一个手动启动和停止非常麻烦,而且查看每个进程的状态也很不方便
- 本文实例讲述了JS简单获取并修改input文本框内容的方法。分享给大家供大家参考,具体如下:一 介绍获取文本框并修改其内容可以使用getEl
- 本文实例讲述了PHP使用星号隐藏用户名,手机和邮箱的实现方法。分享给大家供大家参考,具体如下:PHP使用星号替代用户名手机和邮箱这个在许多的
- 基本原理使用Adodb.Stream读二进制文件然后进行解析,然后返回一数组第一个元素为类型(BMP JPG PNG GIF SWF)第二个
- 导语哈喽!大家好~我是木木子啦!自从写了一些表白类型的一些小脚本、小程序之后,越发不可收拾了,哈哈哈。常常会有小粉丝说:这......小程序
- 在以前的MySQL版本中是没有窗口函数的,直到MySQL8.0才引入了窗口函数。窗口函数是对查询中的每一条记录执行一个计算,并且这个计算结果
- 内容摘要:现在InterNet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PH
- Harris 角点检测算法1. 角点角点是水平方向、垂直方向变化都很大的像素。角点检测算法的基本思想:
- 一、本节说明我们在开发过程中经常需要监听用户的输入,比如:用户的点击事件、拖拽事件、键盘事件等等。这就需要用到我们下面要学习的内容v-on指
- 主备同步,也叫主从复制,是MySQL提供的一种高可用的解决方案,保证主备数据一致性的解决方案。在生产环境中,会有很多不可控因素,例如数据库服
- 本文主要研究的是selenium python浏览器多窗口处理的相关内容,分享了操作实例代码,具体如下:#!/usr/bin/python#