idea和mysql连接完成登录验证操作! 您所在的位置:网站首页 xampp如何安装 idea和mysql连接完成登录验证操作!

idea和mysql连接完成登录验证操作!

2023-03-12 03:21| 来源: 网络整理| 查看: 265

目的:完成idea和mysql数据库的连接,并获取mysql中某表的数据与控制台输入的数据进行对比验证!

逻辑:idea与mysql构建连接,

        1、首先需要jar包!!然后就是

        2、注册驱动(driver)

        3、定义url、user、password三件套(连接数据库的url、登录数据库的账号、登录数据库的密码)

        4、用三件套创建出connection这个真正与mysql相连的对象!最终目的就是为了创建出包含三件套的connection对象!

构思步骤:

初步:项目构建跳过!

1、资源获取(jar包依赖)

2、jdbc.properties配置文件设置(减少代码重复!)

3、写封装方法(选择写!将方法封装只是为了方便调用,减少代码篇幅)

        3.1、构建connection方法(可以创建,也可以写在verify方法里!)

        3.2、构建verify方法 (连接mysql、操作mysql、验证数据)

4、主题内容,调用封装好的方法!得到结果

实践:

1、资源获取(jar包依赖)-------跳过!载入即可

2、jdbc.properties配置文件设置

driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/a_learnsql?serverTimezone=Asia/Shanghai&characterEncoding=utf8 username=root password=123456 initialSize=5

        这里就包含了驱动、url、user(因为我导入了druid德鲁伊jar包,这里user就需要用username)、password三件套!initialSize是数据库连接池创建的连接数! 其中a_learnsql是数据库名称

3、写封装方法

        3.1、构建connection方法

                        代码段部分截取!!

public class jdbc { private static DataSource dataSource; static { try { InputStream resourceAsStream = jdbc.class.getClassLoader().getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(resourceAsStream); dataSource = DruidDataSourceFactory.createDataSource(properties); } catch (Exception e) { e.printStackTrace(); } } public static Connection getConnection(){ Connection connection=null; try { connection = dataSource.getConnection(); } catch (Exception throwables) { throwables.printStackTrace(); } return connection; }

                        先在静态代码块中就先将 inputStream输入流、properties运输流数据、Druid创建连接池连接构建好!后用得到的连接构建mysql连接方法!

               (1)、jdbc.class.getClassLoader().getResourceAsStream("jdbc.properties");

                        获取到jdbc.properties也就是前面写的mysql连接相关信息(url、user三件套)

               (2)、创建Properties的对象来传输获取到的三件套;

               (3)、 DruidDataSourceFactory.createDataSource(properties);

                         德鲁伊根据获取的三件套构建连接的中间量(相当于连接)!有实际意义!

               (4)、connection = dataSource.getConnection();

                        方法中需要重新使用connection!前面dataSource是为了回避某些问题!

        3.2、构建verify方法 

                                验证登录代码块!

public static void verify(String name,String password){ try { String sql = "select name,password from logintable where id=?"; PreparedStatement statement = dataSource.getConnection().prepareStatement(sql); statement.setInt(1,1);//数据库语句(sql)中的第1个问号,赋值为1 ResultSet resultSet = statement.executeQuery();//执行上方代码statement.setInt while (resultSet.next()){ if(resultSet.getString("name").equals(name)&& resultSet.getString("password").equals(password)){ System.out.println("登录成功"); return; }else { System.out.println("登录失败!用户名或密码错误"); } } } catch (SQLException throwables) { throwables.printStackTrace(); } }

前面已经做好了连接,即已经跟数据库连接上,可以开始操作数据了!

(1)、方法构造上我选择用有参方法,将输入的数据带进来方便对比!

(2)、select name,password from logintable where id=?    数据库查询语句,返回logintable表中的name和password的属性,但条件是id等于?(问号是动态的,后面输入什么就是什么!)

(3)、dataSource.getConnection().prepareStatement(sql); 构建prepareStatement运输工具来运输从数据库(前面定义的数据库语句里是sql,只是一句查询代码!真正的数据库早在前面url、user三件套时就连接好了)中拿到的数据!

(4)、后面就是简单的循环判断语句,如果result有下一个值时,就开始循环验证!

4、主题内容

public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入用户名:"); String name = scanner.next(); System.out.println("请输入密码:"); String password = scanner.next(); jdbc.verify(name,password); }

结尾得到结果!

 完成idea和mysql的连接,这里是固定的值,还可以添加循环完成验证!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有