一.jdbc的概述:
在开发过程中我们使用的shijava语言,那么肯定是要通过java语言操作数据库。
1.1jdbc的概念
JDBC是java来执行sql语句的AplJDBC是java访问数据库的标准规范,可以对多种关系类型的数据库进行统一的访问;它是有java语言编写的接口和类组成。
JDBC是接口,由数据库生产生产厂商提供的实现类被称为驱动。
1.2 JDBC的组成;
接口规范;一开始有很多的数据库他们是不统一的每个数据库都有自己的接口,这样子就显得很麻烦;最后sum公司出手了他制订了java程序连接各种数据库的统一接口规范。这样的话,不管是链接哪一种数据库,java代码都可以保持一致性。
实现规范:因为各个数据厂商的的软件各有不同,那么各自的内部如何通过sql实现增删改等操作管理数据库,只有这个数据库厂商自己更清楚,因此接口规范就交给数据库厂商自己实现。
厂商实现内容和过程封装成jar文件,我们程序员只需要将jar文件引入到项目中集成即可,就可以开发调用实现过程的操作数据库了。
二.JDBC快数入门;
准备一下自己的数据库
1.2官网下载数据库连接连接驱动jar包:MySQL :: Download MySQL Connector/J (Archived Versions)
穿件java项目,在项目下创建lib文件夹,将下载的驱动jar包复制到java项目下lib里面;
选中复制到lib文件夹里面的jar包,右键找到--->Add as Library,点击什么都不用管点OK就好,
与项目集成。
java
package JavaJdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* /** * JDBC API中的核心类和接口
* DriverManager(类): 用于注册驱动和获取连接
* Connection(接口): 表示与数据库创建的连接
* Statement(接口): 执行SQL语句的对象
* ResultSet(接口): 结果集或一张虚拟表
*
* * 以上接口由MySQL驱动程序jar包,提供实现类
*
* * JDBC开发步骤 ,固定步骤 6个 (模版)
* 1.注册驱动
* 2.获得连接对象
* 3.获得执行sql语句的对象
* 4.执行SQL语句,获取结果集对象
* 5.处理结果集 (打印控制台)
* 6.释放资源
**/
public class JDBC3 {
public static void main(String[] args)throws Exception {
//注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2。获得连接对象
String url = "jdbc:mysql://localhost:3306/day7-16";//连接数据库的地址:我的是连接day7-16
String username="root";//填写数据库的用户名
String password="G20030718";//数据库密码
Connection conn = DriverManager.getConnection(url, username, password);
//获取执行sql语句的对象
Statement state = conn.createStatement();
//修改数据
String query ="update tab_User set nickname='蟹老板' where id='1';";
//删除数据
String ques = "delete from tab_User where id='4'";
//添加数据
String sql="insert into tab_User values (null,'zhaoliu','238761','张三')";
//查看数据:
String sql1 ="select * from tab_User where nickname='张三' and password = '123456'";
//影响行数:注意:executeUpdate() 增删改 executeQuery() 查询
int i = state.executeUpdate(ques);
int i1 = state.executeUpdate(query);
int i2 = state.executeUpdate(sql);
ResultSet resul = state.executeQuery(sql1);
// 处理结果集
if(i>=1){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
if(i1>=1){
System.out.println("删除成功");
}else{
System.out.println("删除失败");
}
if(i2>=1){
System.out.println("添加成功");
}else {
System.out.println("添加失败");
}
if(resul.next()){
System.out.println("查询成功");
}else{
System.out.println("查询失败");
}
//释放资源:
resul.close();
state.close();
conn.close();
}
}