带你深入了解Java!三十、使用JDBC操作数据库!
程序员文章站
2022-04-10 12:30:36
...
< 使用JDBC操作数据库 >
Java连接数据库
一、理解JDBC的原理
Java高级静态语言 它帮助我们做了什么?
- 它提供了一套接口,用于接入不同的数据库!基本上主流的数据库都支持
- 这套接口的名字叫做 JDBC (Java DataBase Connectivity)
Java应用程序通过 JDBC 来连接数据库时,其实就是在 Java 平台准备一套接口(接口: interface 它要使用必须寻找对应的实现类),然后不同的数据库厂商提供这些接口的实现类(驱动),然后再通过Java提供的驱动管理程序对驱动进行验证及安装,再然后我们就可以正常使用了
二、掌握 JDBC 的使用步骤
DriverManager驱动管理器
他的作用是用来帮助我们进行驱动测试/加载!最终实现驱动的管理!
掌握Connection接口的使用 连接对象 和数据库建立连接
掌握Statement接口的使用 执行SQL语句
掌握ResultSet接口的使用 存储数据库返回的数据结果集
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 测试 Statement JDBC
* @author Douer
* 2019年6月3日 下午2:09:43
*/
public class TestS {
public static void main(String[] args){
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
try {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获得数据库连接(Connection)
String url = "jdbc:mysql://localhost:3306/job5_30";
connection = DriverManager.getConnection(url,"root","gatsby");
//3、创建Statement或PreparedSrarement对象,执行sql语句
String sql = "select \r\n" +
" c.`name` name,sum(o.orderQ) sum\r\n" +
"FROM \r\n" +
" g_order o,g_cargo c\r\n" +
"where \r\n" +
" o.nameID = c.nameID and\r\n" +
" year(o.orderDate) = '2018' and c.`name` = 'iPhone Xs'and o.orderType = '出仓';";
statement = connection.createStatement();
//4、返回 并处理执行结果(若查询操作,返回ResultSet结果集)
rs = statement.executeQuery(sql);
while(rs.next()) {
String name = rs.getString("name");
int sum = rs.getInt("sum");
System.out.println(name+"\t"+sum);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
//5、释放资源
if(rs != null) {
rs.close();
}
if(statement != null) {
statement.close();
}
if(connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
三、掌握JDBC 的增删改
增加、删除、修改
掌握PreparedStatement接口的使用 特别的执行SQL语句的接口
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* PreparedStatement JDBC
* @author Douer
* 2019年6月3日 下午4:26:15
*/
public class TestP {
public static void main(String[] args){
Connection connection = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获得数据库连接(Connection)
String url = "jdbc:mysql://localhost:3306/job5_30";
connection = DriverManager.getConnection(url,"root","gatsby");
//3、创建Statement或PreparedSrarement对象,执行sql语句
String sql = "select \r\n" +
" c.`name` name,sum(o.orderQ) sum\r\n" +
"FROM \r\n" +
" g_order o,g_cargo c\r\n" +
"where \r\n" +
" o.nameID = c.nameID and\r\n" +
" year(o.orderDate) = '2018' and c.`name` = ? and o.orderType = ?;";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1,"iPhone Xs");
pstmt.setString(2,"出仓");
//4、返回 并处理执行结果(若查询操作,返回ResultSet结果集)
rs = pstmt.executeQuery();
while(rs.next()) {
String name = rs.getString("name");
int sum = rs.getInt("sum");
System.out.println(name+"\t"+sum);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
//5、释放资源
if(rs != null) {
rs.close();
}
if(pstmt != null) {
pstmt.close();
}
if(connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
上一篇: php 值得收藏的常用类汇总
下一篇: php自动保存远程图片类
推荐阅读
-
【⭐】Java—Spring-—数据库操作—使用内置连接池,报读取不到驱动错误。Could not load JDBC driver class。
-
Java使用JDBC操作MySQL数据库
-
Java操作数据库——使用JDBC连接数据库
-
[Sqlite]--)Java使用jdbc连接Sqlite数据库进行各种数据操作的详
-
Java使用JDBC连接SQLite数据库进行各种数据操作的详细过程
-
【⭐】Java—Spring-—数据库操作—使用内置连接池,报读取不到驱动错误。Could not load JDBC driver class。
-
带你深入了解Java!三十、使用JDBC操作数据库!
-
Java使用JDBC操作MySQL数据库
-
Java操作数据库——使用JDBC连接数据库