栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC数据库连接 及JDBC使用讲解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC数据库连接 及JDBC使用讲解

目录

1. 什么是JDBC

2. JDBC ⼯作原理

3. JDBC 使⽤

3.1 创建项目并添加MySQL驱动(DataSource实现操作数据库)

3.2 使用代码操作数据库


1. 什么是JDBC Java 数据库连接。是⼀种⽤于执⾏ SQL 语句的 Java API,它是 Java 中的数据库连接规范。 使⽤了 JDBC 之后,不管是什么数据库与什么数据库驱动,我们只需要使⽤⼀套标准代码就 可以实现对不同数据库进⾏统⼀操作(添加、修改、删除、查询),它的目的就在于解决不同数据库厂商的数据库存在不一样时,会产生的问题。

2. JDBC ⼯作原理 JDBC 为多种关系数据库提供了统⼀访问⽅式,作为特定⼚商数据库访问 API 的⼀种⾼级抽象, 它主要包含⼀些通⽤的接⼝类。 JDBC 访问数据库层次结构:

JDBC的优点:1. Java语言访问数据库操作完全面向抽象接口编程。

                        2. 开发数据库应用不用限定在特定数据库厂商的API。

                        3. 程序的可移植性大大增强。 

3. JDBC 使⽤

3.1 创建项目并添加MySQL驱动(DataSource实现操作数据库)

        创建Java项目,添加MySQL驱动(注意:不同数据库版本对应不同驱动包)

3.2 使用代码操作数据库

        操作数据库MySQL提供两种操作API:

        1. DirverManager

        2. DataSource(推荐使用)

下面是使用DataSource来实现操作数据库:

        1. 获取数据源   (输入MySQL数据库连接的服务器地址、用户名、密码)

        2. 获取连接  (建立客户端与服务端的连接)

        3. 获取执行器  (连接服务器并切换到数据库)

        4. 查询或操作数据库  (输入命令,并得到结果)

        5. 关闭连接  (关闭客户端)

3.2.1 获取数据源

// 1. 创建数据源
MysqlDataSource dataSource = new MysqlDataSource();
// 1.1 设置连接的 MySQL 数据库服务器
dataSource.setURL("jdbc:mysql://127.0.0.1:3306/java33characterEncoding=utf8&useSSL=true");
// 1.2 设置⽤户名
dataSource.setUser("root");
// 1.3 设置密码
dataSource.setPassword("********");

 3.2.2  获得连接

连接对象是 Connection,注意此步骤操作容易出错,⼀定是 com.mysql.jdbc 包下的 Connection 对象。
// 2.创建连接
Connection connection = (Connection) dataSource.getConnection();

3.2.3 获得执行器

执⾏器是⽤来执⾏ SQL 命令的,执⾏器有三种:         1. Statement (用于执行不带参数的简单语句)         2. PreparedStatement (用于执行带或者不带参数的语句,SQL语句会在数据库系统预编译,执行速度快于Statement)(常用)         3. CallableStatement (用于执行数据库存储过程的调用) PreparedStatement 优点:         性能比 Statement高,SQL预编译,阻止常见SQL注入攻击,占位符“ ?”下标从1开始,占位符不能用多值,参数化SQL查询。
// 3.获得执⾏器
String selectSQL = "select * from student where user name = ?";
PreparedStatement statement = connection.prepareStatement(selectSQL);
// 3.1 占位符赋值
statement.setString(1, "王五");
  PreparedStatement 有 主要两种重要的⽅法:         1. executeQuery();  ⽅法执⾏后返回单个结果集的,通常⽤于 select 语句。         2. executeUpdate():⽅法返回值是⼀个整数,指示受影响的⾏数,通常⽤于 update、insert、delete 语句。 3.2.4 查询或操作数据库
// 4.获得结果集
ResultSet resultSet = statement.executeQuery();
// 4.1 获得结果并打印
while (resultSet.next()) {
    String sn = resultSet.getString("sn");
    String username = resultSet.getString("username");
    String mail = resultSet.getString("mail");
    System.out.println(String.format("SN:%s,UserName:%s,Mail:%s", sn,username, mail));
}
ResultSet ⾥的数据⼀⾏⼀⾏排列,每⾏有多个字段,并且有⼀个记录指针,指针所指的数据⾏ 叫做当前数据⾏,我们只能来操作当前的数据⾏。我们如果想要取得某⼀条记录,就要使⽤ ResultSet 的 next() ⽅法 ,如果我们想要得到 ResultSet ⾥的所有记录,就应该使⽤ while 循环。 3.2.5 关闭数据库连接
  // 5. 关闭资源
        resultSet.close();
        statement.close();
        connection.close();

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763373.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号