Java数据库操作
Posted xingweikun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据库操作相关的知识,希望对你有一定的参考价值。
使用Java连接并操作mysql数据库
前期准备工作
mysql-connector-java下载地址
进去后选择相对应的版本。
打开eclipse,选中Java项目,右键选择构建路径,再选择添加外部归档,选择刚下载的jar文件。
连接MySQL数据库
package 数据库;
import java.sql.*;
public class Conn {
Connection con;
public Connection getConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/friends" + "?serverTimezone=GMT%2B8", "root",
"root");
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {
Conn c = new Conn();
c.getConnection();
}
}
进行查询操作
顺序查询
package 数据库;
import java.sql.*;
public class Gradation { // 创建类
static Connection con; // 声明Connection对象
static Statement sql; // 声明Statement对象
static ResultSet res; // 声明ResultSet对象
public Connection getConnection() { // 连接数据库方法
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:"
+ "//127.0.0.1:3306/test?serverTimezone=UTC", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return con; // 返回Connection对象
}
public static void main(String[] args) { // 主方法
Gradation c = new Gradation(); // 创建本类对象
con = c.getConnection(); // 与数据库建立连接
try {
sql = con.createStatement(); // 实例化Statement对象
// 执行SQL语句,返回结果集
res = sql.executeQuery("select * from tb_stu");
while (res.next()) { // 如果当前语句不是最后一条则进入循环
String id = res.getString("id"); // 获取列名是"id"的字段值
// 获取列名是"name"的字段值
String name = res.getString("name");
// 获取列名是"sex"的字段值
String sex = res.getString("sex");
// 获取列名是"birthday"的字段值
String birthday = res.getString("birthday");
System.out.print("编号:" + id); // 将列值输出
System.out.print(" 姓名:" + name);
System.out.print(" 性别:" + sex);
System.out.println(" 生日:" + birthday);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
编号:1 姓名:小明 性别:男 生日:2015-11-02
编号:2 姓名:小红 性别:女 生日:2015-09-01
编号:3 姓名:张三 性别:男 生日:2010-02-12
编号:4 姓名:李四 性别:女 生日:2009-09-10
模糊查询
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Train { // 创建类
static Connection con; // 声明Connection对象
static Statement sql; // 声明Statement对象
static ResultSet res; // 声明ResultSet对象
public Connection getConnection() { // 连接数据库方法
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:"
+ "//127.0.0.1:3306/test?serverTimezone=UTC", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return con; // 返回Connection对象
}
public static void main(String[] args) { // 主方法
Train c = new Train(); // 创建本类对象
con = c.getConnection(); // 与数据库建立连接
try {
sql = con.createStatement(); // 实例化Statement对象
// 执行SQL语句,返回结果集
res = sql.executeQuery("select * from tb_stu where name like '张%'");
while (res.next()) { // 如果当前语句不是最后一条则进入循环
String id = res.getString("id"); // 获取列名是"id"的字段值
// 获取列名是"name"的字段值
String name = res.getString("name");
// 获取列名是"sex"的字段值
String sex = res.getString("sex");
// 获取列名是"birthday"的字段值
String birthday = res.getString("birthday");
System.out.print("编号:" + id); // 将列值输出
System.out.print(" 姓名:" + name);
System.out.print(" 性别:" + sex);
System.out.println(" 生日:" + birthday);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
编号:3 姓名:张三 性别:男 生日:2010-02-12
添加、修改、删除数据
package 数据库;
import java.sql.*;
public class Renewal { // 创建类
static Connection con; // 声明Connection对象
static PreparedStatement sql; // 声明PreparedStatement对象
static ResultSet res; // 声明ResultSet对象
public Connection getConnection() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:"
+ "//127.0.0.1:3306/test?serverTimezone=UTC", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) {
Renewal c = new Renewal(); // 创建本类对象
con = c.getConnection(); // 调用连接数据库方法
try {
sql = con.prepareStatement("select * from tb_stu"); // 查询数据库
res = sql.executeQuery(); // 执行SQL语句
System.out.println("执行增加、修改、删除前数据:");
while (res.next()) {
String id = res.getString(1);
String name = res.getString("name");
String sex = res.getString("sex");
String birthday = res.getString("birthday"); // 遍历查询结果集
System.out.print("编号:" + id);
System.out.print(" 姓名:" + name);
System.out.print(" 性别:" + sex);
System.out.println(" 生日:" + birthday);
}
sql = con.prepareStatement("insert into tb_stu(name,sex,birthday) values(?,?,?)");
sql.setString(1, "张一"); // 预处理添加数据
sql.setString(2, "女");
sql.setString(3, "2012-12-1");
sql.executeUpdate();
sql = con.prepareStatement("update tb_stu set birthday "
+ "= ? where id = ? ");
sql.setString(1, "2012-12-02"); // 更新数据
sql.setInt(2, 1); // 更新数据
sql.executeUpdate();
Statement stmt = con.createStatement();
stmt.executeUpdate("delete from tb_stu where id = 1");
// 查询修改数据后的tb_stu表中数据
sql = con.prepareStatement("select * from tb_stu");
res = sql.executeQuery(); // 执行SQL语句
System.out.println("执行增加、修改、删除后的数据:");
while (res.next()) {
String id = res.getString(1);
String name = res.getString("name");
String sex = res.getString("sex");
String birthday = res.getString("birthday");
System.out.print("编号:" + id);
System.out.print(" 姓名:" + name);
System.out.print(" 性别:" + sex);
System.out.println(" 生日:" + birthday);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行增加、修改、删除前数据:
编号:1 姓名:小明 性别:男 生日:2015-11-02
编号:2 姓名:小红 性别:女 生日:2015-09-01
编号:3 姓名:张三 性别:男 生日:2010-02-12
编号:4 姓名:李四 性别:女 生日:2009-09-10
执行增加、修改、删除后的数据:
编号:2 姓名:小红 性别:女 生日:2015-09-01
编号:3 姓名:张三 性别:男 生日:2010-02-12
编号:4 姓名:李四 性别:女 生日:2009-09-10
编号:5 姓名:张一 性别:女 生日:2012-12-01
以上是关于Java数据库操作的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.IllegalStateException:onSaveInstanceState On Activity Backpress 后无法执行此操作(不使用任何片段)
VSCode自定义代码片段15——git命令操作一个完整流程