Java实现GUI界面JDBC功能实现--修改密码

要求:

1、窗口+布局+组件

 2、数据库表(字段、ID、用户名、密码)+数据库连接+数据库增删改查

准备工作:

1、需要下载MySQL(配置好环境)并安装navicat premium

2、在navicat里面新建一个数据库my-sql并且在student数据库新建一个t_user表

3、表中设置字段id, username ,password ,telephone ,register_time

完成之后是如下图所示:

4、之后我们在Intellij IDEA (Java工具)新建四个项目ConnectionManager,UserDao,TestUserDao,LoginFrame

ConnectionManager代码如下: 

import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionManager {

    private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
    private static final String URL = "jdbc:mysql://localhost:3306/student"; // 数据库统一资源定位符
    private static final String USERNAME = "root"; // 数据库用户名
    private static final String PASSWORD = "mm123456"; // 数据库密码

    /**
     * 私有化构造方法,拒绝实例化
     */
    private ConnectionManager() {
    }

    /**
     * 获取数据库连接方法
     *
     * @return 数据库连接
     */
    public static Connection getConnection() {
        // 定义数据库连接
        Connection conn = null;
        try {
            // 安装数据库驱动程序
            Class.forName(DRIVER);
            // 获取数据库连接
            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        } catch (ClassNotFoundException e) {
            System.err.println("错误提示:数据库驱动程序未找到!");
        } catch (SQLException e) {
            System.err.println("温馨提示:数据库连接失败!");
        }
        // 返回数据库连接
        return conn;
    }

    /**
     * 关闭数据连接方法
     *
     * @param conn
     */
    public static void closeConnection(Connection conn) {
        // 判断数据库连接是否为空
        if (conn != null) {
            try {
                // 判断数据库连接是否关闭
                if (!conn.isClosed()) {
                    // 关闭数据库连接
                    conn.close();
                }
            } catch (SQLException e) {
                System.err.println("温馨提示:数据库连接关闭失败!");
            }
        }
    }

    /**
     * 测试数据库连接是否成功
     *
     * @param args
     */
    public static void main(String[] args) {
        // 获取数据库连接
        Connection conn = getConnection();
        // 判断是否连接成功
        if (conn != null) {
            JOptionPane.showMessageDialog(null, "恭喜,数据库连接成功!");
        } else {
            JOptionPane.showMessageDialog(null, "遗憾,数据库连接失败!");
        }
        // 关闭数据库连接
        closeConnection(conn);
    }
}

ConnectinonManager.java是用来连接数据库的,数据库密码是你自己设置的密码哦。上面代码是我自己的数据库密码

UserDao代码如下:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;


public class UserDao {
    public boolean login(String username,String password){
        //1获得数据库的连接(加载数据库驱动,通过drivermanager获取数据库连接)
        Connection conn= ConnectionManager.getConnection();
        try {
            //2通过connection对象获取statement对象
            String strSQL="update t_user set password=? where username='芝兰'";
            PreparedStatement pstmt =conn.prepareStatement(strSQL);
            pstmt.setString(1,password);


            //3使用statement执行SQL语句
            int rs=pstmt.executeUpdate();
            //4对增删改查结果的处理
            if(rs>0){
                return true;
            }else{
                return false;
            }
        }catch (SQLException e){
            System.out.println("数据库的234步产生的异常");
            e.printStackTrace();
        }finally {
            //5关闭数据库
            ConnectionManager.closeConnection(conn);
        }
        return false;
    }

}

TestUserDao代码如下:

public class TestUserDao {
    public static void main(String[] args) {
         String username="芝兰";
         String password="123";
         UserDao userDao=new UserDao();
         boolean a=userDao.login(username,password);
         if(a){
             System.out.println("用户名和密码正确,修改密码成功");
         }else{
             System.out.println("用户名和密码不正确,修改密码失败");
         }
    }
}

LoginFrame代码如下:

public class TestUserDao {
    public static void main(String[] args) {
         String username="芝兰";
         String password="123";
         UserDao userDao=new UserDao();
         boolean a=userDao.login(username,password);
         if(a){
             System.out.println("用户名和密码正确,修改密码成功");
         }else{
             System.out.println("用户名和密码不正确,修改密码失败");
         }
    }
}

每个项目都要正常运行哦,不然在LoginFranme里面修改密码就会有bug哦~

正确运行结果为:

之前“芝兰”的密码为666,我们把它修改为555.运行成功后我们在打开navicat的t_user表里面可以看到“芝兰”的密码已经改为了555。

注意:我们修改密码成功后需要重新打开数据库才能看到修改后的结果,这是因为我们数据库刷新慢需要我们自己手动刷新。

 

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值