您的位置:首页 > 教育 > 锐评 > 高端品牌服装有哪些_定制家具生产厂家_seo专员是什么意思_在哪里可以做百度推广

高端品牌服装有哪些_定制家具生产厂家_seo专员是什么意思_在哪里可以做百度推广

2025/9/9 6:54:59 来源:https://blog.csdn.net/Vaclee/article/details/147311029  浏览:    关键词:高端品牌服装有哪些_定制家具生产厂家_seo专员是什么意思_在哪里可以做百度推广
高端品牌服装有哪些_定制家具生产厂家_seo专员是什么意思_在哪里可以做百度推广

前言:

本篇博客在之前的聊天案例上加入了与数据库连接,将用户的账户和密码存储在数据库中,

登录时验证用户是否创建账户,注册时验证用户是否创建已有账户

如果需要完整代码的同学,后台私信博主

聊天案例完整代码链接如下:

https://blog.csdn.net/Vaclee/article/details/146240268?spm=1001.2014.3001.5501

目录

一.在数据库中创建一个chatdb数据库和user_student表

二.将数据库驱动导入项目中

1.在项目中创建一个文件夹

2.将驱动导入lib文件中

3.将sql驱动导入到项目中

4.建立与数据库的连接

三.注册页面加入数据库

四.在登录页面加入数据库验证


一.在数据库中创建一个chatdb数据库和user_student表

注意账户是不能重复的,应该加入相应的约束

代码如下:

create database if not exists chatdb charset utf8create table user_student(id int primary key auto_increment,account varchar(10) not null unique,password varchar(10) not null,regtime date not null
)

二.将数据库驱动导入项目中

博主这里用的是mysql,有需要驱动的同学可以私信博主

1.在项目中创建一个文件夹

2.将驱动导入lib文件中

将驱动文件拖入lib中即可

3.将sql驱动导入到项目中

4.建立与数据库的连接

由于我们每次使用数据库都需要建立与数据库的链接,所以可以将与数据库连接的代码封装成一个类,提高代码的复用性

这里需要注意的是java与数据库连接遵循的是TCP协议,所以说ip和端口,时区都不能写错,否则会连接失败

public class JdbcUtil {//对数据库连接进行封装,符合面向对象语言的特性,增加代码的复用性private static String url = "jdbc:mysql://127.0.01:3306/schooldb?           serverTimezone=Asia/Shanghai";//jdbc:数据库://ip:端口/具体的数据库名?时区private static String user = "root";//数据库账户private static String dbpwd = "root";//数据库密码public static Connection getconnection()throws SQLException {Connection connection = DriverManager.getConnection(url,user,dbpwd);return connection;}
}

三.注册页面加入数据库

1.首先对注册按钮加入事件

2.建立与数据库连接

3.获取文本框内容

4.查询账户是否在已经存在,如果存在提醒用户直接登录,如果不存在添加到数据库中

button1.addActionListener(new AbstractAction(){@Overridepublic void actionPerformed(ActionEvent e){try {String account = textField1.getText();//获取文本框内容String password = textField2.getText();//连接数据库Connection connection = JDBCutil.getconnection();//首先查询是否已经有改账户PreparedStatement p = connection.prepareStatement("select id from user_student where account = ?");p.setObject(1, account);ResultSet resultSet = p.executeQuery();if (resultSet.next() == false) {p = connection.prepareStatement("insert into user_student(account,password,regtime)value(?,?,?)");p.setObject(1, account);p.setObject(2, password);p.setObject(3, new Date());p.executeUpdate();JOptionPane.showMessageDialog(null, "注册成功", "来自系统的提示", JOptionPane.WARNING_MESSAGE);new LoginFrame();} else {JOptionPane.showMessageDialog(null, "账户已经存在请直接登录", "来自系统的提示", JOptionPane.WARNING_MESSAGE);return;}p.close();resultSet.close();connection.close();}catch(SQLException k){System.out.println("数据库连接失败");k.printStackTrace();}}
});

四.在登录页面加入数据库验证

1.首先对注册按钮加入事件

2.建立与数据库连接

3.获取文本框内容

4.查询账户是否在已经存在,如果存在判断密码是否正确,如果正确直接登录,否则提醒用户密码错误,如果不存在提醒用户注册

loginbtn.addActionListener(new AbstractAction() {@Overridepublic void actionPerformed(ActionEvent e) {//事件监听try {String account = accountFiled.getText();//获取文本框内容String password = passwordFiled.getText();if (password.equals("")) {JOptionPane.showMessageDialog(null, "密码不能为空", "来自系统的提示", JOptionPane.WARNING_MESSAGE);return;}if (account.equals("")) {JOptionPane.showMessageDialog(null, "账户不能为空", "来自系统的提示", JOptionPane.WARNING_MESSAGE);//(,内容,标题,警告类型);return;}//连接数据库Connection connection = JDBCutil.getconnection();//首先查询是否已经有改账户PreparedStatement p = connection.prepareStatement("select id from user_student where account = ?");p.setObject(1,account);ResultSet resultSet = p.executeQuery();if(resultSet.next()==false){JOptionPane.showMessageDialog(null, "账户不存在请注册!", "来自系统的提示", JOptionPane.WARNING_MESSAGE);//(,内容,标题,警告类型);return;}else{p = connection.prepareStatement("select id from user_student where account = ? and password = ?");p.setObject(1,account);p.setObject(2,password);ResultSet resultSet1 = p.executeQuery();if (resultSet1.next()==false){JOptionPane.showMessageDialog(null, "密码错误,请重新输入", "来自系统的提示", JOptionPane.WARNING_MESSAGE);//(,内容,标题,警告类型);return;}}p.close();resultSet.close();connection.close();//连接服务器端Socket socket = new Socket("127.0.0.1", 9999);dispose();//释放关闭当前窗口new ChatFrame(accountFiled.getText(),socket).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}catch(IOException ex){ex.printStackTrace();JOptionPane.showMessageDialog(null,"网络连接失败!","来自系统的提示",JOptionPane.WARNING_MESSAGE);}catch(Exception ex){ex.printStackTrace();//打印异常信息JOptionPane.showMessageDialog(null,"系统忙,请稍后再试!","来自系统的提示",JOptionPane.WARNING_MESSAGE);}}
});

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com