作者主页:paper jie_博客****
本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。
本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将MySQL基础知识一网打尽,希望可以帮到读者们哦。
其他专栏:《算法详解》《C语言》《javaSE》《数据结构》等
内容分享:本期将会分享Java的JDBC编程
目录
[1. 创建数据源](#1. 创建数据源)
[2. 连接数据库服务器](#2. 连接数据库服务器)
[3. 构造sql语句](#3. 构造sql语句)
[4. 将构造的sql语句传送给服务器执行](#4. 将构造的sql语句传送给服务器执行)
[5. 将资源释放](#5. 将资源释放)
JDBC是什么
JDBC即java数据库连接. 是一种用于执行SQL语句的Java API, 它是Java中的数据坤连接的规范.这个API由java.sql.*,javax.sql.*包中的一些类和接口组成的,它为Java开发人员操作数据库提供了一个标准的API,可以为多种数据库提供统一访问. 如: MySQL提供了Java的驱动包mysql-connector-java, 需要基于Java操作MySQL需要使用该驱动包.
JDBC的工作原理
JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类 ,JDBC的优势:
java访问数据库操作就是完全面向抽象接口编程的
开发数据库应用不用限定在特定的数据库厂商的API
程序的可移植性高
JDBC的使用
准备数据库驱动包
MySQL驱动包我们可以去mvnrepository.com 这个地址里下载到本地:
在索引上搜MySQL,我们点击第二个.
进去后,会有多个版本,这里都是可以用的,这里我们使用49版.
点击下载.
将驱动包添加到项目中
在我们的项目中创建一个文件夹,可以命名为lib,再将驱动包mysql-connector-java-5.1.49.jar复制到lib中.这个包是不用解压的,我们可以通过Java来将里面的接口和类引入进来:
创建lib文件:
将驱动包复制过来,直接ctrl+v
将包配置进项目中:
正式使用
这里我们在main方法内使用
1. 创建数据源
jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false 这一长串可以理解为让java知道数据库在哪里位置,这个每个人的地址都是不一样的,因人而异
java
//1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
DataSource dataSource = new MysqlDataSource();
//数据库位置
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
//用户名
((MysqlDataSource) dataSource).setUser("root");
//密码
((MysqlDataSource) dataSource).setPassword("123456");
2. 连接数据库服务器
这里就好比要建立一个java与mysql传送操作的通道:
java
//2. 连接数据库服务器
Connection connection = dataSource.getConnection();
3. 构造sql语句
这里用String来构造sal语句,再构造后要注意将sql语句转换为语句对象.
java
//3. 构造sql语句
String sql = "insert into course values(11, '物理')";
//需要将sql语句转换为语句对象
PreparedStatement statement = connection.prepareStatement(sql);
这里有两个接口可以将sql语句转换,PreparedStatement, Statement. PrepareStatement是预处理后的结果,而Statement是没有预处理的,所以我们使用PrepareStatement
4. 将构造的sql语句传送给服务器执行
这里有两个方法可以使用,executeUpdate和executQuery,第一个得到的是执行sql的次数,第二个是结果集合
java
//4. 将构造好的sql传送给服务器执行
//得到的是执行sql的次数
int n = statement.executeUpdate();
//得到的是执行sql的结果集
statement.executeQuery();
5. 将资源释放
释放资源是从后往前释放:
java
//5. 将资源释放
statement.close();
statement.close();
最终代码
java
public class Test {
public static void main(String[] args) throws SQLException {
//1. 创建数据源 数据源里提供了数据库在哪里,用户名,密码
DataSource dataSource = new MysqlDataSource();
//数据库位置
((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/data?characterEncoding=utf8&useSSL=false");
//用户名
((MysqlDataSource) dataSource).setUser("root");
//密码
((MysqlDataSource) dataSource).setPassword("123456");
//2. 连接数据库服务器
Connection connection = dataSource.getConnection();
//3. 构造sql语句
String sql = "insert into course values(15, '物理')";
//需要将sql语句转换为语句对象
PreparedStatement statement = connection.prepareStatement(sql);
//4. 将构造好的sql传送给服务器执行
//得到的是执行sql的次数
int n = statement.executeUpdate();
//得到的是执行sql的结果集
// statement.executeQuery();
//5. 将资源释放
statement.close();
statement.close();
}
}
总结
-
获取数据源
-
创建连接通道
-
构造sql语句
-
将sql传送给服务器执行
-
释放资源