javaswing语句 java连接mysql,简单登录框实现

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: javaswing语句 java连接mysql,简单登录框实现

第一步,eplicse导入驱动包,必须要对应版本的

写入mysql语句在数据库中

DROP TABLE IF EXISTS `table`;
CREATE TABLE `table` (
  `name` char(8) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `password` int DEFAULT NULL,
  PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
-- ----------------------------
-- Records of table
-- ----------------------------
INSERT INTO `table` VALUES ('admin', '666');
INSERT INTO `table` VALUES ('gg', '123');
INSERT INTO `table` VALUES ('yy', '123');


二,使用了两个类dd 和 dj

dj-----mysql连接java,并且设置compare函数,用于判断传入的值与数据库里面的值是否一致

package denglu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; 
import javax.swing.JOptionPane;
public class dj {
    Connection con = null;
    Statement statement = null;
    ResultSet res = null;
    String driver = "com.mysql.cj.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/denglu?useUnicode=true&characterEncoding=UTF-8&serverTimezone=CST";//denglu是自己创的mysql库名
    String name = "root";
    String passwd = "123456";
    public dj() {
        try {
            Class.forName(driver).newInstance();
            con = DriverManager.getConnection(url, name, passwd);
            statement = con.createStatement();
        } catch (ClassNotFoundException e) {
            System.out.println("对不起,找不到这个Driver");
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public boolean compare(String name, String password) {
        boolean m = false;
        String sql = "select password from table where name=\"" + name + "\"";//自己在denglu这个库里面创建table表并写入mysql语句
        System.out.println("sql="+sql);
        try {
            res = statement.executeQuery(sql);
            System.out.println("res="+res);
            if (res.next()) {
                String pa = res.getString(1);
                System.out.println(pa + " " + password);
                if (pa.equals(password)) {
                    m = true;
                } else {
                    JOptionPane.showMessageDialog(null, "密码错误!");
                }
            } else {
                JOptionPane.showMessageDialog(null, "用户名不存在!");
            }
            res.close();
            con.close();
            statement.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return m;
    }
}

dd--------用于布局,实现点击函数

package denglu;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class dd extends JFrame  {
     JPanel pan = new JPanel();
     JLabel namelab = new JLabel("用户名");
     JLabel passlab = new JLabel("密    码");
    JTextField nametext = new JTextField();
    JPasswordField passtext = new JPasswordField();
    public JButton denglu = new JButton("登录");
    public dd() {
        Font font = new Font("楷体", Font.BOLD, 12);
        super.setTitle("欢迎登录本系统");
        pan.setLayout(null);
        namelab.setBounds(20, 20, 60, 30);
        nametext.setBounds(90, 20, 140, 30);
        passlab.setBounds(20, 60, 60, 30);
        passtext.setBounds(90, 60, 140, 30);
        denglu.setBounds(100, 120, 90, 20);//距离x,距离y,宽,长
        pan.add(namelab);
        pan.add(nametext);
        pan.add(passlab);
        pan.add(passtext);
        pan.add(denglu);
        passtext.setFont(font);
        super.add(pan);
        super.setSize(300, 250);
        super.setVisible(true);
        denglu.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {//监听
               denglu();
            }
        });
    }
    public static void main(String[] args) {
        new dd();//执行布局
    }
    //登录按钮的事件处理函数
    public void denglu() {
        dj dl = new dj();
        String username = nametext.getText();
        String password = passtext.getText();
        if (dl.compare(username, password)) {
            JOptionPane.showMessageDialog(null, "登录成功!");
            super.setVisible(false);
        }
    }
    }

12.1.png12.2.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
前端开发 关系型数据库 MySQL
【前端学java】MySQL数据库的本地安装
【8月更文挑战第12天】MySQL数据库的本地安装
16 3
|
2天前
|
Java API 开发者
|
2天前
|
存储 SQL 关系型数据库
深入MySQL锁机制:原理、死锁解决及Java防范技巧
深入MySQL锁机制:原理、死锁解决及Java防范技巧
|
3天前
|
存储 算法 Java
在Java中使用MD5对用户输入密码进行加密存储、同时登录验证。
这篇文章详细介绍了在Java项目中如何使用MD5算法对用户密码进行加密存储和登录验证,包括加入依赖、编写MD5工具类、注册时的密码加密和登录时的密码验证等步骤,并通过示例代码和数据库存储信息展示了测试效果。
在Java中使用MD5对用户输入密码进行加密存储、同时登录验证。
|
5天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
3天前
|
SQL 关系型数据库 MySQL
MySQL - 左连接、右连接、内连接、完全外连接、交叉连接 & 一对多、多对一、多对多 & 联合连接
介绍MySQL中不同类型的SQL连接操作,包括左连接、右连接、内连接、完全外连接、交叉连接,以及数据库关系中的一对多、多对一、多对多和联合连接的概念和使用场景。
10 0
|
4天前
|
关系型数据库 MySQL 数据库连接
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
|
4天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
4天前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。
|
5天前
|
Java 网络安全 开发工具
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
12 0

热门文章

最新文章