Java面向对象—JDBC

JDBC【Java连接数据库】

一、JDBC简介:

JDBC:Java Database Connection ​ 1、JDBC:JDBC是Java和数据库连接的一种技术,提供连接各种数据库的能力

二、JDBC工作原理:

Java应用程序:我们自己写的

JDBC API:由SUN公司提供给用的接口和类,集成在java.sql和javax.sql包中 Connection、PreparedStatement、ResultSet

DriverManager:由SUN公司提供,用来管理各种数据库驱动

JDBC驱动:由数据库厂商提供,负责连接不同的数据库,表现为一个jar包

三、JDBC API

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

四、JDBC驱动

(1)JDBC驱动由数据库厂商提供 (2)连接方式:

①JDBC-ODBC桥接方式:把对JDBC API的调用,转为对一组数据库连接API的调用 ​ 优点:可以访问所有ODBC可以访问的数据库 ​ 缺点:执行效率低、功能不够强大 ​ 注:控制面板——管理工具——ODBC数据源——系统DNS——添加:能添加即支持,不支持MySQL

②纯Java驱动连接:由JDBC驱动直接访问数据库 ​ 优点:100%Java,速度快、跨平台 ​ 缺点:连接不同的数据库需要下载使用不同的JDBC驱动

五、JDBC连接数据库操作的七步

[数据库驱动jar包的添加方式在文章末尾处有详细介绍]

以增加为例:

(1)加载驱动
Class.forName("com.mysql.jdbc.Driver");
(2)创建连接
Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名","root","root");
(3)编写sql
String s="insert into user values(1,'张三')";
(4)创建PreparedStatement对象预处理sql
PreparedStatement ps=c.preparedStatement(s);
(5)执行并返回结果
int i=ps.executeUpdate();
(6)处理结果
System.out.println(i);
(7)关闭连接
ps.close();
c.close();
六、字符串处理

在sql语句中,如果值是字符串,那么就可以用变量累加进去,变量的值就可以灵活的使用扫描仪来输入

String name="张三"; String s="insert into user values(1,'"+name+"')";

七、占位符

字段值除了可以使用变量累加,还可以使用占位符占位,再通过对应的set方法来输入值

占位符有顺序,即每个字段在表中的顺序

int a=1; String name="李四"; String s="insert into user values(?,?)"; ps.setInt(1,a); ps.setString(2,name);

八、查询

查询返回的是结果集,用ResultSet处理;调用执行使用executeQuery()方法

(5)执行并返回结果 ​ ResultSet rs=ps.executeQuery(); ​ (6)处理结果

对结果处理,用next()方法判断是否存在下一个数据,有则放在rs集合中

while(rs.next()){ ​ System.out.println(rs.getInt("userid")+":"+rs.getString("username")); ​ }

(7)关闭连接 ​ rs.close(); //先关闭结果集 ​ ps.close(); ​ c.close;

注:可以用字段列的顺序来获取字段值 但是不推荐,因为如果列很多时,只需有某几列,就要数需要的列是第几列 while(rs.next()){ System.out.println(rs.getInt(1)+":"+rs.getString(2)); }

九、jdbc驱动的jar包的添加方式:

1、直接在库目录中添加

File—Project Structure—Libraries—+—Java—找到jar包的目录—OK—选择模块(一定要选中对应的模块)—OK即可

2、在模块下添加依赖

创建文件夹lib》把.jar文件复制到该文件夹中》右键》添加到库

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值