具体功能:通过连接数据库实现注册登录及部分集合增删改查小功能
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5a544b1bad50daca4c175288411cc671.png)
业务逻辑
package com.mysql.jdbc3;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class JDBCService {
public int register(String username, String password) {
Connection conn = null;
PreparedStatement state = null;
int row = 0;
try {
conn = JDBCUtils.getConnection();
// insert into user values('username','password');
String sql = "insert into user values(null,?,?)";
state = conn.prepareStatement(sql);
state.setString(1, username);
state.setString(2, password);
row = state.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.close(state, conn);
}
return row;
}
public boolean login(String username, String password) {
Connection conn = null;
PreparedStatement state = null;
ResultSet set = null;
boolean boo = false;
try {
conn = JDBCUtils.getConnection();
String sql = "select * from user where username= ? and password = ?";
state = conn.prepareStatement(sql);
state.setString(1, username);
state.setString(2, password);
set = state.executeQuery();
boo = set.next();
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtils.close(state, conn, set);
}
return boo;
}
}
class ABC{
public static Scanner sc=new Scanner(System.in);
public static List<Emp> list = new ArrayList<>();
public void choose() {
while (true) {
System.out.println("请输入1,增加。2,删除。3,修改。4,查询 。5,刪除重名。6,全部修改。7,退出系统");
switch (sc.next()) {
case "1":
addEmp();
break;
case "2":
deleteEmp();
break;
case "3":
updateEmp();
break;
case "4":
selectEmps();
break;
case "5":
deleteAllEmp();
break;
case "6":
updateAllEmp();
break;
case "7":
return;
}
}
}
// 增加
public static void addEmp() {
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
Emp e = new Emp(name, age);
list.add(e);
}
// 删除一个
public static void deleteEmp() {
System.out.println("请输入姓名:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
if (name.equals(list.get(i).getName())) {
list.remove(i);
break;
}
}
}
public static void deleteAllEmp() {
System.out.println("请输入姓名:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
if (name.equals(list.get(i).getName())) {// name在前避免输入姓名为空
list.remove(i);
i--;
}
}
}
// 修改
public static void updateEmp() {
System.out.println("请输入姓名:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
if (name.equals(list.get(i).getName())) {
System.out.println("请输入想要修改的年龄");
int age = sc.nextInt();
list.get(i).setAge(age);
break;
}
}
}
public static void updateAllEmp() {
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入想要修改的年龄");
for (int i = 0; i < list.size(); i++) {
if (name.equals(list.get(i).getName())) {
int age = sc.nextInt();
list.get(i).setAge(age);
}
}
}
// 查询
public static void selectEmps() {
for (int i = 0; i < list.size(); i++) {
Emp e = list.get(i);
System.out.println(e.getName() + "----" + e.getAge());
}
}
}
class Emp {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Emp(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Emp() {
super();
}
}
工具类
package com.mysql.jdbc3;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCUtils {
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败");
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
}
public static void close(Statement stmt,Connection conn) {
if(stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void close(Statement stmt,Connection conn,ResultSet rs) {
close(stmt, conn);
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
测试
package com.mysql.jdbc3;
import java.util.Scanner;
public class TestJDBC {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
JDBCService service = new JDBCService();
ABC abc=new ABC();
while(true) {
System.out.println("请输入选项:1,注册。2,登录。3,退出");
switch (sc.next()) {
case "1":
System.out.println("请输入用户名");
String reusername = sc.next();
System.out.println("请输入密码");
String repassword = sc.next();
int boo = service.register(reusername, repassword);
if (boo>0) {
System.out.println("注册成功");
} else {
System.out.println("注册失败");
}
break;
case "2":
System.out.println("请输入用户名");
String lousername = sc.next();
System.out.println("请输入密码");
String lopassword = sc.next();
boolean boo2 = service.login(lousername, lopassword);
if (boo2) {
System.out.println("登陆成功");
abc.choose();
} else {
System.out.println("登陆失败");
}
break;
case "3":
System.out.println("欢迎下次光临!再见");
return;
default:
System.out.println("选择出错,请重试");
break;
}
}
}
}
每日贴图
![好好学习,娶漂亮媳妇](https://i-blog.csdnimg.cn/blog_migrate/b8d8f93e14edbd163a75f99556a27e9f.jpeg)