一、概念
JDBC(Java Database Connectivity) java应用程序和数据库的连接技术
JDBC是sun公司推出的一套用于访问不同数据库的规范或标准(一组接口或抽象类)、java.sql.*
二、好处
1、开发人员不用记多套APi,减轻了开发压力
2、维护性提高
三、JDBC的使用步骤
1、加载驱动(加载MySQL驱动)
将MySQL提供的一套连接的实现类加载到应用程序中
2、获取连接
3、访问数据库的数据,实现增删改查
4、关闭连接
四、JDBC 的简单使用
mysql 驱动:mysql-connector-java-5.1.37-bin.jar
前提工作:
(1)将mysql-connector-java-5.1.37-bin.jar复制到项目根目录下
(2)右击 –> build path -> add to build path
步骤:
1、加载驱动(注册驱动)
方式一:静态加载
方式二:动态加载 【建议】
静态加载的不足: (1)依赖性太强 (2)导致 Driver类new了两遍,效率较低
package com.yinggu.demo1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test
import com.mysql.jdbc.Driver;
public class TestConnection1 {
@Test
public void testConnection() throws SQLException, ClassNotFoundException{
//1.加载驱动
//方式一 静态加载
//DriverManager.registerDriver(new Driver());
//方式二 动态加载
Class.forName("com.mysql.jdbc.Driver");
//2.创建并获取连接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/girls","root","root");
//3.访问数据库的数据 - 对数据库的操作
//3-1 获取执行sql语句的命令对象
Statement statement = connection.createStatement();
//3-2 执行
int update = statement.executeUpdate("insert into admin(username,password) values('rose','000')");
//3-3 处理结果
System.out.println(update>0?"执行成功":"执行失败");
//4.关闭连接
connection.close();
}
}
加载驱动的两种方式
方式一:静态加载
静态加载的不足:
(1)依赖性太强,如果没有mysql驱动jar包 代码报错
(2)(查看源码)导致 Driver类new了两遍,效率较低
DriverManager.registerDriver(new Driver());
package com.mysql.jdbc;
import com.mysql.jdbc.NonRegisteringDriver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException {
}
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException arg0) {
throw new RuntimeException("Can\'t register driver!");
}
}
}
方式二:动态加载 【建议】
//方式二 动态加载
Class.forName("com.mysql.jdbc.Driver");
关联源码
(1)点击 new Driver()
(2)Attach Source
(3)External … -> ok
(4)源码实现
package com.mysql.jdbc;
import com.mysql.jdbc.NonRegisteringDriver;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException {
}
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException arg0) {
throw new RuntimeException("Can\'t register driver!");
}
}
}
Eclipse 安装反编译插件
方式一:没有网络的情况下,eclipse安装目录下直接添加,重启eclipse
方式二:网络良好
https://www.jianshu.com/p/4402ee3ff1a8
(1)Help – Eclipse Marketplace
(2)输入 Decompiler 搜索并安装此插件
(3)勾选上所有的反编译插件
(4)接受协议
(5)点击ok继续安装
(6)点击yes ,重启eclipse