JavaSE高级阶段:数据库操作七部曲
数据库表简要介绍
tb_type(tid,tname)、tb_user(uid,username,password,tid),其中数据库表tb_type和数据库表tb_user中的外键tid在此文章中没用到。
数据库操作七部曲
在将MySQL的的驱动包成功导入后,在IDEA上对数据库进行的增、删、改、查还是实现登录功能(根据数据库表中有无这条数据来输出登录成功或登录失败),都分为以下七部曲:
1.获取数据库的驱动
2.创建数据库连接
3.写出SQL语句
4.处理SQL语句(数据库选中SQL语句并执行)
5.输出结果
6.处理结果
7.释放资源
全查功能和删除功能(举例说明数据库操作七部曲)代码
实现代码如下:
package com.erha.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
public class Test {
// 1. 查询tb_user这张表中的数据
public static void printAllUser(){
try {
// (1) 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
System.out.println("加载数据库驱动成功!");
// (2) 创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db_java1ssm?useSSL=true&characterEncoding=utf8", "root", "123456");
System.out.println("数据库连接成功!");
// (3) 准备写出SQL语句
String sql = "SELECT * FROM tb_user";
// (4) 数据库选中语句并执行它
PreparedStatement pstm = conn.prepareStatement(sql);
// (5) 产生结果
ResultSet rs = pstm.executeQuery();
// (6) 处理结果
while(rs.next()){
System.out.println("用户编号:"+rs.getInt(1)+",用户名称:"+rs.getString(2)+",用户密码:"+rs.getString(3)+",用户类型:"+rs.getInt(4));
}
// (7) 释放连接
rs.close();
pstm.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
}
}
//2.删除用户信息功能
public static void doDelete(int uid) {
try {
//1.获取数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//2.创建数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db_java1ssm?useSSL=true&characterEncoding=utf8", "root", "123456");
//3.写出sql语句
String sql = "DELETE FROM tb_user WHERE uid = ?";
//4.处理sql语句(数据库选中sql语句并执行)
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setInt(1,uid);
//5.产生结果
int nums = pstm.executeUpdate();
//6.处理结果
if(nums>0){
System.out.println("删除成功!"+nums+"行受影响");
}
else {
System.out.println("没有该编号的用户");
}
//7.释放资源
pstm.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static int doInput1(String str){
Scanner in = new Scanner(System.in);
System.out.println("请输入"+str+"用户编号:");
int uid = in.nextInt();
return uid;
}
//白盒测试
public static void main(String[] args) {
//全查功能
printAllUser();
//删除操作
int uid = doInput1("删除");
doDelete(uid);
//全查功能
printAllUser();
}
}
全查功能和删除功能(举例说明数据库操作七部曲)输出结果
删除时有该用户编号:
删除时无该用户编号:
总结
IDEA连接数据库后对数据库表的增、删、改、查(包括全查和模糊查询)以及根据tb_user表中有无该用户信息输出登录成功和登录失败都是这七部曲过程,其中就只有实现细节的不同。