avatar

目录
Java JDBC 操作 MySql增删改查

工具:eclipse

导入jdbc驱动包

类型 下载地址

JDBC.zip

一个数据库的简单操作流程大致分为以下几个操作

  • a. 设置数据库连接参数
  • b. 加载数据库驱动(捕捉错误)
  • c. 连接数据库(捕捉错误)
  • d. 构造sql语句
  • e. 执行sql语句(捕捉错误)
  • f. 获取记录集结果
  • g.[关闭数据库连接](java有cc机制不需要手动关闭)

下面进行代码演示

  • 演示数据库简要说明
名称
数据库名 rtbook
表名 rtb_member
包含字段1 userid
包含字段2 phone
包含字段3 activeTime

main方法

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package my;

import java.sql.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class HelloWorld {

// 参数配置
private static final String dbName = "rtbook";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/" + dbName + "?useUnicode=true&characterEncoding=UTF-8";
private static final String className = "com.mysql.jdbc.Driver";
private static final String user = "root";
private static final String password = "root";
// 数据库句柄
private static Connection conn;
public static void main(String[] args) {
/*
* 测试顺序
* 查询
* 插入
* 修改
* 删除
*/
// 为了检验每次的执行效果,执行SQL语句完毕后都会输出表的数据视图

// 连接数据库
jdbcConnect();
// 测试查询
// testSelect();
// 测试插入
// testInsert();
// 测试修改
// testUpdate();
// 测试删除
// testDelete();
System.out.println("done");
}
}

其中下面这段GET参数,用来设置连接编码为utf-8

bash
url
1
2
3
4
useUnicode=true
characterEncoding=UTF-8
// 如果是高一点版本的MySQL,还要设置useSSL参数,不设置会报错
useSSL=false

数据库连接操作

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static int jdbcConnect() {     
// 加载JDBC驱动
try {
Class.forName(className);
System.out.println("JDBC Load SUCCESS");
}catch(ClassNotFoundException e) {
// 捕捉到错误
System.out.println("JDBC Load error!" + e);
return 1;
}
// 连接至数据库
try {
conn = DriverManager.getConnection(URL, user, password);
System.out.println(dbName + "opened SUCCESS");
return 0;
}catch(SQLException e) {
// 捕捉到错误
System.out.println(dbName + "opened error!" + e);
return 2;
}
}

数据查询

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void testSelect() {
try {
// 构造SQL语句
sql = conn.prepareStatement("SELECT * FROM `rtb_member` WHERE `userid` > 1");
// 执行SQL语句
res = sql.executeQuery();
// 输出表头
System.out.println( "编号" + "\t" + "手机" + "\t" + "注册时间" );
// 遍历结果集
while(res.next()) {
String userid = res.getString("userid");
String phone = res.getString("phone");
String activeTime = res.getString("activeTime");
System.out.println(userid + "\t" + phone + "\t" + activeTime);
}
}catch(SQLException e) {
// 捕捉到错误
System.out.println("select execute error, err_msg:" + e);
}
}
  • 运行结果

数据插入

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void testInsert() {
try {
// 获取注册时间
Date day = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = df.format(day);
// 构造SQL模板
sql = conn.prepareStatement("INSERT INTO `rtb_member` (`phone`, `activeTime`) VALUES (? ,?)");
// 填充模板
sql.setString(1, "123456");
sql.setString(2, nowTime);
// 执行SQL语句
sql.executeUpdate();
System.out.println("insert execute SUCCESS");
}catch(SQLException e) {
// 捕捉到错误
System.out.println("insert execute error, err_msg:" + e);
}
}
  • 运行结果

数据修改

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void testUpdate() {
try {
// 构造SQL模板
sql = conn.prepareStatement("UPDATE `rtb_member` SET `phone`=? WHERE `phone`=?");
// 填充SQL模板
sql.setString(1, "654321");
sql.setString(2, "123456");
// 执行SQL语句
sql.executeUpdate();
System.out.println("update execute SUCCESS");
}catch(SQLException e) {
// 捕捉到错误
System.out.println("update execute error, err_msg:" + e);
}
}
  • 运行结果

数据删除

java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void testDelete() {
try {
// 构造SQL模板
sql = conn.prepareStatement("DELETE FROM `rtb_member` WHERE `phone`=?");
// 填充SQL模板
sql.setString(1, "654321");
// 执行SQL语句
sql.executeUpdate();
System.out.println("delete execute SUCCESS");
}catch(SQLException e) {
// 捕捉到错误
System.out.println("delete execute error, err_msg:" + e);
}
}
  • 运行结果

文章作者: Bill
文章链接: http://blog.webpro.ltd/2018/09/11/Java-JDBC-%E6%93%8D%E4%BD%9C-MySql%E5%A2%9E%E5%88%A0%E6%94%B9%E6%9F%A5/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Bill's blog

评论