1.JDBC概述
Java Database Connectivity Java -----java语言操作数据库
1.1 JDBC API
JDBC API是一 系列的接口,它统一和规范了应用程序与数据库的连接、执行SQL语句,并到得到返回结果等各类操作,相关类和接口在java.sql与javax.sql包中
1.2 JDBC原理图
通过规范接口来统一管理的数据库,这套接口由数据库厂商去实现、 提供数据库驱动jar包。
2.使用步骤
2.11 前期准备-创建一个名为jdbctest的数据库并在库内新建student
2.12前期准备-添加工具包到库
新建一个libs文件夹,并把mysql-connector-java-8.0.26.jar拷贝进去
右击导入的文件,点击 Add as Library…
会弹出一个创建库的弹窗,点击OK
这样我们的JDBC前期准备工作就做完了
2.2注册驱动-加载Driver类
2.3获取连接-得到Connection
//获取连接
//1.jdbc:mysql:// 通过jdbc的方式连接mysql
//2.localhost 主机,也可以是ip地址
//3.3306 表示mysql监听的端口
//4.jdbctest 表示要操作的数据库
String url = "jdbc:mysql://localhost:3306/jdbctest";
//将用户名密码存入properties对象
Properties properties = new Properties();
//user与password是固定的,后边的根据自己的情况来填
properties.setProperty("user","root"); //账号
properties.setProperty("password","123456"); //密码
//根据给定的url,和账号密码去连接数据库
Connection connect = driver.connect(url,properties);
2.4执行增删改查-发送SQL给mysql执行
//操作数据库(增删改查)
String sql = "insert into student values(1002,'张三','男','188')"; //向jdbctest中的student表插入数据
//statement用于执行静态SQL语句并返回其生成的结果的对象
Statement statement = connect.createStatement();
int rows = statement.executeUpdate(sql); //如果是DML语句,返回的是受影响的行数(rows可以自行命名)
System.out.println(rows > 0 ? "成功" : "失败"); //如果有改动输出成功,否则输出失败
2.5释放资源-关闭相关连接
//释放资源
statement.close();
connect.close();
3.完整代码
public class jdbc01 {
public static void main(String[] args) throws SQLException {
//注册驱动
Driver driver = new Driver(); //创建对象
//获取连接
//1.jdbc:mysql:// 通过jdbc的方式连接mysql
//2.localhost 主机,也可以是ip地址
//3.3306 表示mysql监听的端口
//4.jdbctest 表示要操作的数据库
String url = "jdbc:mysql://localhost:3306/jdbctest";
//将用户名密码存入properties对象
Properties properties = new Properties();
//user与password是固定的,后边的根据自己的情况来填
properties.setProperty("user","root"); //账号
properties.setProperty("password","123456"); //密码
//根据给定的url,和账号密码去连接数据库
Connection connect = driver.connect(url,properties);
//操作数据库(增删改查)
String sql = "insert into student values(1002,'张三','男','188')"; //向jdbctest中的student表插入数据
//statement用于执行静态SQL语句并返回其生成的结果的对象
Statement statement = connect.createStatement();
int rows = statement.executeUpdate(sql); //如果是DML语句,返回的是受影响的行数(rows可以自行命名)
System.out.println(rows > 0 ? "成功" : "失败"); //如果有改动输出成功,否则输出失败
//释放资源
statement.close();
connect.close();
}
}