日常回顾上一章内容(有需要可以回去看看)
学习做学生管理系统——java swing+Mysql 第二章(登录功能)
这一章将会对注册功能进行重点讲解,在讲解的同时,优化原先的代码。
在讲解实现功能时,我要先说明一下,我的注册功能是基于什么思路来进行注册的。
1.我的注册是有条件的注册,不是随便注册,根据工号来注册账号
2.每个工号限制帐号数量
3.禁止重复帐号和重复使用工号
如下图,我特地建了新表access,用于存放工号信息和工号拥有的帐号数量,注册将会先根据工号搜索access表,在根据帐号搜索账号表,当条件都符合的时候,注册功能才开始进行。(当然如果自己有其他的需要可以根据我后续给出的代码进行相应的修改)
为了代码的简洁,我在工程下面新建了两个类,main.java是前两章内容,这次的注册功能是额外建的register类,为了方便我把数据库连接用的帐号密码那些信息放到Mysql类
把数据库用的帐号密码这些信息放到一个新的类,就不用再后续写各种功能的时候重新定义,可以直接调用
Mysql.java的内容
public class Mysql {
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/StudentManage?useSSL=false&serverTimezone=UTC";
static final String USER = "root";
static final String PASS = "123";
}
现在开始说明register.java的内容,也是本章要说的重点
先上图看最终成果
在建好的class类文件后,定义注册功能要用的窗口,添加上你所需要的一切信息,标签,输入框,按钮等东西(不记得怎么添加组件的记得回看第一章,或者百度),这里直接上代码
public class register {
public void reg() {
JFrame jf=new JFrame("注册");
jf.setSize(350, 250);
JPanel jp=new JPanel();
jf.add(jp);
jp.setLayout(null);
JLabel acc=new JLabel("帐号");
JLabel pass=new JLabel("密码");
JLabel id=new JLabel("工号");
jp.add(pass);
jp.add(id);
jp.add(acc);
acc.setBounds(40, 20, 80, 25);
pass.setBounds(40, 60, 80, 25);
id.setBounds(40, 100, 80, 25);
JTextField text1=new JTextField();//帐号输入
JPasswordField text2=new JPasswordField();//密码输入
JTextField text3=new JTextField();//工号输入
text1.setBounds(80, 20, 165, 25);
text2.setBounds(80, 60, 165, 25);
text3.setBounds(80, 100, 165, 25);
jp.add(text1);
jp.add(text2);
jp.add(text3);
JButton regButton=new JButton("注册");//注册按钮
regButton.setBounds(125, 150, 80, 20);
jp