Java+MySQL小项目(实现登录、注册、删除用户以及修改密码功能)

您所在的位置:网站首页 java删除对象代码怎么写 Java+MySQL小项目(实现登录、注册、删除用户以及修改密码功能)

Java+MySQL小项目(实现登录、注册、删除用户以及修改密码功能)

2024-06-25 05:45| 来源: 网络整理| 查看: 265

Java+MySQL小项目(实现登录、注册、删除用户以及修改密码功能)

没错!!!我刚开始写报了一堆错 在这里插入图片描述

先是这个 然后我一搜这个问题 发现了错误在

在这里插入图片描述

因为一个这个例子

在这里插入图片描述

于是 我!把注册 删除等等都用了这个executeQuery()方法

后来我看了几个网站 重点来了 如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法,如果用的是statement的executeQuery()就会出现上诉问题

留下了感动的泪水 终于找到原因了 结果 我又又又报错了

好家伙 当天晚上给我崩溃地不想写了 第二天中午继续 我丢 我发现 我的sql语句里面 from变成form了 哭唧唧 总之经过99八十一难 作为一个只学了MySQL一两天的我! 写粗来了 留下了争气的泪水

展示一波我的代码

先出我的Java代码

public class User { private String userPwd; private String userName; public User(String userName, String userPwd) { this.userName = userName; this.userPwd = userPwd; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPwd() { return userPwd; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; } public String toString() { return "User [userName=" + userName + ", userPwd=" + userPwd + "]"; } } public class DatabaseUtil { // 数据库连接对象 private Connection conn = null; // 操作句柄[执行SQL语句] private Statement stat = null; // 结果集对象[获取查询的结果] private ResultSet rs = null; // 连接相关的字符串对象 String url = "jdbc:mysql://localhost:3306/homework?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8"; String username = "root"; String password = "a123456*"; // 通过反射机制讲jdbc的驱动jar包 动态的加载到JVM static { try { Class.forName("com.mysql.cj.jdbc.Driver"); forName() 返回与带有给定字符串名的类或接口相关联的 Class 对象 } catch (ClassNotFoundException e) { e.printStackTrace(); } } // 修改密码功能 public void modify(String name, String pwd) { String sql = "update users set user_pwd='" + pwd + "' where user_name='" + name + "'"; try { // 建立连接通道 // DriverManager 管理一组 JDBC 驱动程序的基本服务。java.sql // getConnection() 返回: 到 URL 的连接 conn = DriverManager.getConnection(url, username, password); // System.out.println("连接成功..."); // 获取一个执行sql语句的对象 // Statement 用于执行静态 SQL 语句并返回它所生成结果的对象。 // createStatement()创建一个 Statement 对象来将 SQL 语句发送到数据库。 stat = conn.createStatement(); // 执行sql语句 // 执行给定 SQL语句,语句可能为 INSERT、UPDATE 或 DELETE 语句,或不返回内容 stat.execute(sql); System.out.println("修改成功"); } catch (SQLException e) { System.out.println("修改失败"); e.printStackTrace(); } finally { if (null != stat) { try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } // 删除用户功能 public void delete(String name) { String sql = "delete from users where user_name='" + name + "'"; try { // 建立连接通道 // DriverManager 管理一组 JDBC 驱动程序的基本服务。java.sql // getConnection() 返回: 到 URL 的连接 conn = DriverManager.getConnection(url, username, password); // System.out.println("连接成功..."); // 获取一个执行sql语句的对象 // Statement 用于执行静态 SQL 语句并返回它所生成结果的对象。 // createStatement()创建一个 Statement 对象来将 SQL 语句发送到数据库。 stat = conn.createStatement(); // 执行sql语句 // 执行给定 SQL语句,语句可能为 INSERT、UPDATE 或 DELETE 语句,或不返回内容 stat.execute(sql); System.out.println("删除成功"); } catch (SQLException e) { System.out.println("删除失败"); e.printStackTrace(); } finally { if (null != stat) { try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } // 注册用户功能 public void register(String name, String pwd) { String sql = "insert into users values('" + name + "','" + pwd + "')"; try { // 建立连接通道 // DriverManager 管理一组 JDBC 驱动程序的基本服务。java.sql // getConnection() 返回: 到 URL 的连接 conn = DriverManager.getConnection(url, username, password); // System.out.println("连接成功..."); // 获取一个执行sql语句的对象 // Statement 用于执行静态 SQL 语句并返回它所生成结果的对象。 // createStatement()创建一个 Statement 对象来将 SQL 语句发送到数据库。 stat = conn.createStatement(); // 执行sql语句 // 执行给定 SQL语句,语句可能为 INSERT、UPDATE 或 DELETE 语句,或不返回内容 stat.execute(sql); System.out.println("注册成功"); } catch (SQLException e) { System.out.println("注册失败"); e.printStackTrace(); } finally { if (null != stat) { try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } // 登录 public boolean isLogin(User user) { boolean login_win = false; String sql = "select * from users where user_name='" + user.getUserName() + "' and user_pwd='" + user.getUserPwd() + "'"; try { // 建立连接通道 // DriverManager 管理一组 JDBC 驱动程序的基本服务。java.sql // getConnection() 返回: 到 URL 的连接 conn = DriverManager.getConnection(url, username, password); // System.out.println("连接成功..."); // 获取一个执行sql语句的对象 // Statement 用于执行静态 SQL 语句并返回它所生成结果的对象。 // createStatement()创建一个 Statement 对象来将 SQL 语句发送到数据库。 stat = conn.createStatement(); // 执行sql语句 // 执行给定 SQL语句,语句可能为 INSERT、UPDATE 或 DELETE 语句,或不返回内容 rs = stat.executeQuery(sql); if (rs.next()) { login_win = true; } } catch (SQLException e) { System.out.println("连接失败...."); e.printStackTrace(); } finally { if (null != rs) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (null != stat) { try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (null != conn) { try { // 关闭连接 // 立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放 conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } return login_win; } } public class Test { public static void main(String[] args) { Test t = new Test(); System.out.println("请选择你的操作:a.登录用户 b.修改密码 c.删除用户 d.注册用户"); Scanner sc = new Scanner(System.in); String function = sc.next().trim(); switch (function) { case "a": t.login(); break; case "b": t.modify(); break; case "c": t.delete(); break; case "d": t.register(); break; default: System.out.println("输入格式有误,请重新输入"); } } // 修改密码 public void modify() { DatabaseUtil dbUtil = new DatabaseUtil(); Scanner s = new Scanner(System.in); System.out.println("请输入用户名:"); String uname = s.next().trim(); System.out.println("请输入新密码:"); String upwd = s.next().trim(); dbUtil.modify(uname, upwd); } // 删除 public void delete() { DatabaseUtil dbUtil = new DatabaseUtil(); System.out.println("请输入要删除的用户名"); Scanner s = new Scanner(System.in); String uname = s.next().trim(); dbUtil.delete(uname); } public void login() { DatabaseUtil dbUtil = new DatabaseUtil(); Scanner s = new Scanner(System.in); System.out.println("请输入用户名:"); String uname = s.next().trim(); System.out.println("请输入密码:"); String upwd = s.next().trim(); User user = new User(uname, upwd); if (dbUtil.isLogin(user)) { System.out.println("登录成功..."); } else { System.out.println("登陆失败..."); } } // 注册用户 public void register() { DatabaseUtil dbUtil = new DatabaseUtil(); Scanner s = new Scanner(System.in); System.out.println("请输入用户名:"); String uname = s.next().trim(); System.out.println("请输入密码:"); String upwd = s.next().trim(); dbUtil.register(uname, upwd); } }

我的MySQL代码

create table homework ( user_name varchar(20), user_pwd varchar(20) ); insert into users values('admin','123'); insert into users values('aa','111'); insert into users values('bb','222'); select * from homework;

提几点要注意的:

我的MySQL版本是8.0.21的,所以我的是这样的

Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/homework?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";

对了 jdbc和你的MySQL版本要一样

MySQL5版本的代码和我的有些不一样 在DatabaseUtil这:

Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://127.0.0.1:3306/mysql01?useUnicode=true&" + "characterEncoding=UTF8&allowMultiQueries=true";

然后这个是这地方输入你自己mysql的密码

String username = "root"; String password = "a123456*";

溜了溜了 我验证了一波 我的是没有错的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 溜了溜了 我验证了一波 我的是没有错的

在这里插入图片描述

嘿嘿嘿 开心!!!!!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3