Entorno coincidente El blog anterior ofrecía una introducción más detallada al entorno. Esta sección se centra en el uso. Paso 1: Descarga el paquete: Enlace: https://pan.baidu.com/s/1puGWFgZJde3KapUQiOgqsA Código de extracción: 6v9d Paso 2: Cita el paquete
package mysql_2;
import java.sql.*;
/**
* 为什么要使用数据库,使用文件啥的不好吗?
*
* 还真的不好,文件要遍历啥的,当一个数据变大的时候特别耗费运行时间,效率低下
*
* 那文件有啥用?
*
* 在企业里面文件一般来记录日志
*
* 使用数据库:
*
* 第一步: 注册驱动:由于驱动只要执行一次,所以放在static里面最好
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
* 第二步:
*
* @author 小虎牙
*
*/
public class mysql_2020_10_8 {
//第一步:注册驱动:由于驱动只要执行一次,所以放在static里面最好
static {
try {
/*
这里是jar包是mysql的8.0.20驱动兼容8.0.20以下的版本
*/
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
@SuppressWarnings("resource")
public static void main(String[] args) {
//第二步:建立连接,引用的包是import java.sql.Connection;
Connection con = null;
Statement stat=null;
ResultSet rs=null;
String URL = "jdbc:mysql://localhost:3306/java?serverTimezone=UTC&characterEncoding=utf-8"; // 连接MySQL数据库的路径
try {
//这里的URL是地址,其中的3306是端口号Java是我在数据库建立的名字叫Java的数据库后面是一些格式
//第一个root是数据库的账户名
//而二个root是数据库的密码
con = DriverManager.getConnection(URL, "root", "root");
//第三步:发送sql语句要使用Statement这个类,在前面已经申明好了
stat=con.createStatement();
//第四步接收数据库处理,ResultSet用来接受执行的语句的结果集,在前面已经申明好了
//这里是查的命令executeQuery
System.out.println("这里是查的命令\n\n");
rs=stat.executeQuery("select * from user;");//我的Java数据库里面有一个user的表
System.out.println("姓名"+"\t"+"账号"+"\t"+"密码");
while (rs.next()) {//自动移动到下一行
//这里注意是getString()括号里面可以是列数这个列数从1开始
//不写列数也可以直接写列名字
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString(2)+"\t");
System.out.println(rs.getString("password")+"\t");
}
//增删改的命令使用,都是使用executeQuery
System.out.println("这里是增的命令\n\n");
String SQL="insert into user values('001','001','001');";
int i=stat.executeUpdate(SQL);
System.out.println("受影响的行数"+i);
rs=stat.executeQuery("select * from user;");//我的Java数据库里面有一个user的表
System.out.println("姓名"+"\t"+"账号"+"\t"+"密码");
while (rs.next()) {//自动移动到下一行
//这里注意是getString()括号里面可以是列数这个列数从1开始
//不写列数也可以直接写列名字
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString(2)+"\t");
System.out.println(rs.getString("password")+"\t");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
//第五步:关闭数据库 首先打开的后来关
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stat!=null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}