JDBC java数据库连接
Java Database Connectivity
JAVA在JDBC中提供一套通用的接口,用于连接和操作数据库。不同的数据库厂商都提供了一套对应的实现类来操作自家提供的 DBMS。而这套实现类也称为连接该DBMS的驱动(Driver)
使用步骤:
1:加载对应数据库厂商提供的驱动(MAVEN添加依赖即可)
2:基于标准的JDBC操作流程操作该数据库
在maven的pom.xml项目中添加阿里的依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
</dependencies>
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* 管理数据库连接
*/
public class DBUtil {
static {
try {
//DBUtil第一次被使用时先加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
// return DriverManager.getConnection("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true","root","root");
return DriverManager.getConnection("jdbc:mysql://localhost:3306/birdbootdb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true","root","root");
}
}
不同厂商提供的Driver实现类的名字不同,但是每个数据库是固定的。
DriverManager.getConnection(String url,String username,String password)
mysql的url固定格式
jdbc:mysql://localhost:3306/birdbootdb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
^^^^^^^^^^
数据库名称
相当于USE birdbooddb
Statement用于指定SQL语句
Statement对象是用于执行SQL语句的对象
如果执行的是DQL语句,则还要接收查询结果集并遍历获取查询结果。
执行SQL语句
boolean execute(sql)
该方法可以执行任意类型的sql语句。
由于执行DML,DQL都有专属的方法,因此execute方法通常仅用来执行DDL语句
该方法返回值为boolean值。当执行的SQL有查询结果集时,返回值为true。
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo1 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//步骤1
Class.forName("com.mysql.cj.jdbc.Driver");
//步骤2
Connection conn=DriverManager.getConnection(