个人简介
- 作者简介:大家好!我是yukki。
- 个人主页:yukki.
- ?喜欢:🌈点赞🌈收藏🌈一键三连!
- 共勉
目录
一、实验原理:
数据库驱动的实现方式 :
二、操作步骤:
1、搭建数据库环境,创建数据库,创建表,添加基础数据
2、创建项目环境,导入数据库驱动
3、编写JDBC测试程序
4、实现对表中数据进行增、删、改、查操作。
一、实验原理:
JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范。
JDBC的实现是由数据库厂商提供,以驱动程序形式提供。
JDBC在使用前要先加载驱动。
JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。
驱动开发必须要实现Driver接口。
数据库驱动的实现方式 :
1、JDBC-ODBC桥接式
2、JDBC网络驱动,这种方式是通过中间服务器的协议转换来实现的
3、JDBC+本地驱动,这种方式的安全性比较差。
JDBC驱动,由数据库厂商实现。
二、操作步骤:
1、搭建数据库环境,创建数据库,创建表,添加基础数据
2、创建项目环境,导入数据库驱动
3、编写JDBC程序,连接测试
4、实现对表中数据进行增、删、改、查操作。
1、搭建数据库环境,创建数据库,创建表,添加基础数据
?
create table student(id INT PRIMARY KEY,name CHAR(10),sex CHAR(10),age CHAR(10),sorce CHAR(10));
?insert into student(id,name,sex,age,sorce) values ('202001','张三','男','20','100');
insert into student(id,name,sex,age,sorce) values ('202002','李四','男','18','99');
insert into student(id,name,sex,age,sorce) values ('202003','小敏','女','21','80');
2、创建项目环境,导入数据库驱动
3、编写JDBC测试程序
连接测试
package JdbcTest;
import java.sql.*;
public class test {
public static void main(String[] args) {
String driver = "com.mysql.cj.jdbc.Driver";// 数据库驱动类所对应的字符串
String URL = "jdbc:mysql://localhost:3306/school";
// URL语法格式如下
// jdbc:mysql:是固定的写法,后面跟主机名localhost,3306是默认的MySQL端口号
// serverTimezone=UTC是指定时区时间为世界统一时间
// useUnicode=true是指是否使用Unicode字符集,赋值为true
// characterEncoding=utf-8是指定字符编码格式为UTF8
Connection conn = null;
// Connection接口代表Java程序和数据库的连接对象,只有获得该连接对象后,才能访问数据库,并操作数据表
try {
Class.forName(driver);// 加载MySQL数据库驱动
} catch (java.lang.ClassNotFoundException e) {// 如果找不到这个类,执行下面的异常处理
System.out.println("驱动程序配置未配置成功!!!");
}
try {
conn = DriverManager.getConnection(URL, "root", "123456");// 建立和数据库的连接,并返回表示连接的Connection对象
System.out.println("数据库连接成功!!!");
} catch (Exception e) {// 未连接成功,执行下面的异常处理
System.out.println("数据库连接失败!!!");
}
}
}
4、实现对表中数据进行增、删、改、查操作。
(1)通过JDBC进行添加数据的操作
package JdbcTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class insert {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/school";
String username = "root";
String password = "123456";
conn = DriverManager.getConnection(url, username, password);
String sql = "insert into student(id,name,sex,age,sorce) values ('202010','小花','女','29','60');";
PreparedStatement statement=conn.prepareStatement(sql);
statement.executeUpdate();
System.out.println("增加数据成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
(2)通过JDBC进行删除数据的操作
package JdbcTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class delete {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/school";
String username = "root";
String password = "123456";
conn = DriverManager.getConnection(url, username, password);
String sql = "delete from student where id=202003";
PreparedStatement statement=conn.prepareStatement(sql);
statement.executeUpdate();
System.out.println("删除数据成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
(3)通过JDBC进行更改数据的操作
package JdbcTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class update {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/school";
String username = "root";
String password = "123456";
conn = DriverManager.getConnection(url, username, password);
String sql = "update student set sorce='99' where id=202001";
PreparedStatement statement=conn.prepareStatement(sql);
statement.executeUpdate();
System.out.println("更新数据成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
(4)通过JDBC进行查询数据的操作
package JdbcTest;
import java.sql.*;
/**
* @author zzc
* @create 2022-05-06 16:00
*/
public class query {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/school";
String username = "root";
String password = "123456";
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
String sql = "select * from student;";
rs = stmt.executeQuery(sql);
System.out.println("id|name|sex" + "|age|sorce");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
String age = rs.getString("age");
String sorce = rs.getString("sorce");
System.out.println(id + "|" + name + "|" + sex + "|" + age + "|" + sorce);
}
System.out.println("查询数据成功!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
}
人是生而自由的,但却无往不在枷锁之中。?
|