JDBC练习题,用户信息管理,登录注册
来源:互联网 发布:查自己淘宝的虚假交易 编辑:程序博客网 时间:2024/05/22 09:02
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Scanner;public class UserTest {static Scanner s= new Scanner(System.in);static int id;//用户id不可更改public static void main(String[] args) throws Exception {System.out.println("#欢迎进入我的页面#\n输入功能对应的数字进行相应操作\n1:登录\t2:注册\t3:退出");int k=s.nextInt();if(k==1) {UserUtil.logIn();}if(k==2) {UserUtil.register();}if(k==3) {System.out.println("成功退出,程序终止");System.exit(0);}s.close();}private static Connection getConnection() {try {//加载驱动Class.forName("com.mysql.jdbc.Driver");//获得连接Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/java1710","root","0325");return con;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}/** * 用户工具包,具有登录,注册,修改,查询,删除功能 */public static class UserUtil{static Connection con=getConnection();//查询数据中是否包含输入的用户名private static boolean checkName(String name) {try(PreparedStatement ps=con.prepareStatement("select username from t_user where username=?");){ps.setString(1, name);ResultSet rs=ps.executeQuery();if(rs.next()) {rs.close();return true;}}catch(Exception e) {e.printStackTrace();}return false;}/** * 查询密码是否正确 * @param pwd * @return */private static boolean checkPwd(String pwd) {try(PreparedStatement ps = con.prepareStatement("SELECT PWD FROM T_USER WHERE pwd=? AND id=?");){ps.setString(1, pwd);ps.setInt(2, id);ResultSet rs=ps.executeQuery();if(rs.next()) {rs.close();return true;}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//如果该用户名不存在,返回falsereturn false;}/** * 检查用户名和密码信息 * @param name * @param pwd * @return */private static boolean checkInfo(String name,String pwd) {try(PreparedStatement ps = con.prepareStatement("SELECT * FROM T_USER WHERE USERNAME=? AND PWD=? ");){ps.setString(1, name);ps.setString(2, pwd);ResultSet rs=ps.executeQuery();if(rs.next()) {id=rs.getInt("id");rs.close();return true;}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//如果该用户名不存在,返回falsereturn false;}/** * 登录,查询数据 */public static void logIn() {System.out.println("请输入用户名");String name=s.next();System.out.println("请输入密码");String pwd=s.next();if(checkInfo(name,pwd)) {System.out.println("登录成功,你可以使用以下功能");System.out.println("1:修改用户信息\t2:删除用户信息\t3:查询所有用户信息");int n=s.nextInt();if(n==1) {UserUtil.updateInfo();}if(n==2) {UserUtil.delete();}if(n==3) {UserUtil.select();}}else {System.out.println("密码或用户名输入错误,请重新登录");logIn();}}/** * 注册(向数据库中插入数据) */public static void register(){try(PreparedStatement ps=con.prepareStatement("insert into t_user values(null,?,?,?)")){//设置不自动提交con.setAutoCommit(false);System.out.println("请输入注册用户名");String name=s.next();//判断用户名是否已存在while(checkName(name)) {System.out.println("该用户名已被占用,请重新输入");name=s.next();}System.out.println("请输入注册密码");String pwd=s.next();System.out.println("请输入邮箱(选填)");String email=s.next();ps.setString(1, name);ps.setString(2, pwd);ps.setString(3, email);ps.execute();con.commit();//提交注册信息System.out.println("注册成功,即将为你跳转登录界面......");logIn();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void updateInfo(){try(PreparedStatement ps=con.prepareStatement("UPDATE T_USER SET USERNAME=?,PWD=?,EMAIL=? WHERE ID=?")){//设置不自动提交con.setAutoCommit(false);System.out.println("请输入新的用户名");String name=null;;//判断用户名是否已存在while(checkName((name=s.next()))) {System.out.println("该用户名已被占用,请重新输入");}System.out.println("请输入新的密码");String pwd=null;while(checkPwd((pwd=s.next()))) {System.out.println("新密码不能与原密码相同,请重新输入");}System.out.println("请输入新的邮箱");String email=s.next();ps.setString(1, name);ps.setString(2, pwd);ps.setString(3, email);ps.setInt(4, id);ps.execute();con.commit();//提交修改信息System.out.println("修改成功,下次登录有效");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * 查询功能 */private static void selectInfo() {try(PreparedStatement ps=con.prepareStatement("SELECT * FROM T_USER")){ResultSet rs=ps.executeQuery();while(rs.next()) {System.out.println("用户ID:"+rs.getInt(1)+"\t用户名:"+rs.getString(2));}}catch(Exception e) {e.printStackTrace();}}private static void selectInfo(String name) {try(PreparedStatement ps=con.prepareStatement("SELECT * FROM T_USER WHERE username=?")){ps.setString(1, name);ResultSet rs=ps.executeQuery();if(!rs.next()) {System.out.println("查询的用户不存在");}while(rs.next()) {System.out.println("用户ID:"+rs.getInt(1)+"\t用户名:"+rs.getString(2));}}catch(Exception e) {e.printStackTrace();}}public static void select() {System.out.println("-=-=-=-查询功能-=-=-=-\n1:查询全部\t2:根据用户名查询");int m=s.nextInt();if(m==1) {UserUtil.selectInfo();}if(m==2) {System.out.println("请输入要查询的用户名");String name=s.next();UserUtil.selectInfo(name);}}/** * 删除用户信息 */public static void delete() {String sql="delete from table where id=?";try(PreparedStatement ps=con.prepareStatement(sql)){ps.setInt(1, id);System.out.println("成功删除当前登录用户数据");}catch(Exception e) {e.printStackTrace();}}}}
阅读全文
1 1
- JDBC练习题,用户信息管理,登录注册
- 用户登录注册界面开发及用户信息管理案例详解
- jdbc进行用户信息管理
- 管理登录用户信息
- android 之登录注册用户信息
- 【Android】用户登录注册界面开发及用户信息管理案例代码详解
- 【Android】用户登录注册界面开发及用户信息管理案例代码详解
- Android用户登录注册界面开发及用户信息管理案例代码详解
- 【Android】用户登录注册界面开发及用户信息管理案例代码详解
- JDBC:登录与注册
- JDBC连接数据库,完成注册和登录
- 登录注册 (java jdbc servlet jsp)
- 纯JSP+JDBC+MySQL生成登录注册
- JSP+Servlet培训班作业管理系统[4]-记录登录用户信息
- 用户信息管理
- 用户信息管理
- Asp.net2.0身份验证技术学习入门---新用户注册,登录,显示用户信息
- Asp.net2.0身份验证技术学习入门---新用户注册,登录,显示用户信息
- Java多线程系列(七)—ReentrantLock源码分析
- CentOS本地yum源,实现本地局域网内下载
- Windows系统:解析文件句柄Handle的详细机制
- spring注解nullpointerexception
- openstack的RPC消息通信,oslo.messagin实现
- JDBC练习题,用户信息管理,登录注册
- 记2017莫名其妙的美团校招安卓岗
- kotlin学习笔记
- hdu5269 ZYB loves Xor I (字典树)
- EL表达式调用类的static方法(EL自定义函数)
- 第5章 递归算法设计
- 逆向思考素数问题。
- Android重力感应G-sensor
- 推荐几部金融类电影