首页 > 编程知识 正文

java连接数据库实现注册功能,jsp+mysql实现注册登陆

时间:2023-05-06 05:38:35 阅读:265141 作者:2493

(JDBC学习)Java连接Mysql数据库,实现初始登录注册 作者想说的话代码要求描述涉及类的主要作用描述#JDBCUtils类#JDBC.properties文件#jdbc_test类运行结果

作者想说的话

本篇作品为自己为了学业所做作业,若有问题,可私聊讨论。如果有帮助到你,一起加油。

代码要求描述

登录要求:
1、要求实现Java连接Mysql数据库
2、通过查询指定用户名、密码来确认用户是否存在
3、输出给Java后台
4、判断是否登录成功
5、界面输出

注册要求:
1、要求实现Java连接Mysql数据库
2、通过查询指定用户名来确认用户是否存在
3、如若指定用户存在,则拒绝注册
4、通过SQL语句向数据库新建一条数据
5、判断是否注册成功
6、界面输出

涉及类的主要作用描述

1、JDBCUtils类,主要用于创建JDBC连接数据库,内含连接数据库方法(getCounection),关闭连接方法(close);
2、JDBC.properties文件,主要用于存放数据库路径,管理员用户名、密码以及Driver框架包;
3、jdbc_test类,主要用处就是测试程序,内包含login登录方法,register注册方法;
4、数据库内容:其中id列自动递增

#JDBCUtils类 import java.io.FileReader;import java.io.IOException;import java.net.URL;import java.sql.*;import java.util.Properties;public class JDBCUtils { private static String url; private static String user; private static String psssword; private static String driver; //读取文件,只需读取一次即可拿到这些值,使用静态代码块 static { try { //1.创建Properties集合类 Properties pro=new Properties(); //获取src路径下文件————>ClassLoader 类加载器 ClassLoader classLoader=JDBCUtils.class.getClassLoader(); URL res=classLoader.getResource("jdbc.properties"); String path = res.getPath(); System.out.println(path); //2.加载文件 pro.load(new FileReader(path)); //3.获取数据,赋值 url = pro.getProperty("url"); user = pro.getProperty("user"); psssword = pro.getProperty("password"); driver = pro.getProperty("driver"); //4.注册驱动 Class.forName(driver); }catch (IOException e){ e.printStackTrace(); }catch (ClassNotFoundException e1){ e1.printStackTrace(); } } //连接 public static Connection getCounection() throws SQLException{ return DriverManager.getConnection(url,user,psssword); } //释放资源 public static void close(ResultSet rs,Statement stmt,Connection conn) throws SQLException{ //ResultSet 结果集 if(rs != null){ rs.close(); stmt.close(); } if (stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } public static void close(Statement stmt,Connection conn) throws SQLException{ if (stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } }} #JDBC.properties文件 #url:数据库路径,其中abc为我所调用的数据库名,大家可自行修改url = jdbc:mysql://localhost:3306/abc?useSSL=falseuser = rootpassword = 123456driver = com.mysql.jdbc.Driver #jdbc_test类 import java.sql.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.util.Scanner;/** * @Title: jdbc_test * @Project UI_Project * @Date 2020/6/28 9:24 */public class jdbc_test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Scanner scanner = new Scanner(System.in); System.out.print("请输入你的用户名:"); String username = scanner.next(); System.out.print("请输入你的密码:"); String password = scanner.next(); boolean flag = new jdbc_test().register(username, password); while(!flag) { System.out.print("注册失败,请重新输入用户名:"); username = scanner.next(); System.out.print("请输入你的密码:"); password = scanner.next(); flag = new jdbc_test().register(username, password); } System.out.println("注册成功"); } //登录方法 public boolean login(String username,String password) throws SQLException { if (username == null || password == null) { return false; } Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = JDBCUtils.getCounection(); //定义sql String sql = "select * from user where name='" + username + "' and password ='" + password + "' "; //获取执行sql对象 stmt = conn.createStatement(); //执行查询 rs = stmt.executeQuery(sql); return rs.next(); } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtils.close(rs, stmt, conn); } return false; } //注册方法 public boolean register(String username,String password) throws SQLException { if (username == null || password == null) { return false; } Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = JDBCUtils.getCounection(); //定义sql String sql = "select * from user where name='" + username + "'"; //获取执行sql对象 stmt = conn.createStatement(); //执行查询 rs = stmt.executeQuery(sql); if (rs.next()) return false; //因为查询到此账户,所以拒绝注册 //定义sql sql = "INSERT into user(name,password) value ('" + username + "','" + password + "')"; //执行查询 int count = stmt.executeUpdate(sql); return count != 0; } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtils.close(rs, stmt, conn); } return false; }} 运行结果

本运行结果为使用了注册方法,其中第一次注册失败是因为数据库中已经存在用户名为zzev的用户,所以拒绝注册。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。