Rumah >pangkalan data >tutorial mysql >Cara menggunakan pangkalan data Java dan MySQL untuk melaksanakan pendaftaran dan log masuk
1. Reka bentuk pangkalan data - setelah memahami keperluan pengguna, reka pangkalan data mengikut keperluan pengguna ini.
2. Model data - ia merangkum semua struktur jadual pangkalan data ke dalam satu kelas.
3. Kelas alat pemprosesan data - Reka bentuk kelas alat untuk memproses data mengikut keperluan yang diberikan oleh model data.
4. Paparan paparan - akhirnya memberikan pengguna antara muka paparan yang interaktif dan mudah.
1. Mula-mula buat jadual dalam pangkalan data.
2. Membangunkan model data yang sepadan berdasarkan keperluan perniagaan. Reka bentuk ini tertumpu terutamanya pada log masuk dan pendaftaran, jadi dua model data direka bentuk.
(1) Model pendaftaran
package Chapter_14.Part_8;
public class Register { //注册模型
String id;
String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
(2) Model log masuk
package Chapter_14.Part_8;
public class Login { //登录模型
String id;
String password;
boolean loginSuccess = false;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isLoginSuccess() {
return loginSuccess;
}
public void setLoginSuccess(boolean loginSuccess) {
this.loginSuccess = loginSuccess;
}
}
3 Berdasarkan dua model data yang direka di atas, reka bentuk alat pemprosesan data masing-masing.
(1) Daftar kelas alat pemprosesan model
package Chapter_14.Part_8;
import Chapter_14.GetDatabaseConnection;
import javax.swing.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class registerHandle { //注册数据处理者
Connection connection = null;
PreparedStatement presql; //预处理对象
String sql;
public registerHandle() {
connection = GetDatabaseConnection.connectDB("book","root","");
}
public void writeRegister(Register register){
int ok = 0;
try {
sql = "insert into register value (?,?)"; //预处理
presql = connection.prepareStatement(sql);
presql.setString(1,register.getId());
presql.setString(2,register.getPassword());
ok = presql.executeUpdate(); //成功插入式返回1
connection.close();
} catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"ID不能重复","警告",JOptionPane.WARNING_MESSAGE);
}
if (ok!=0){
JOptionPane.showMessageDialog(null,"注册成功","恭喜",JOptionPane.WARNING_MESSAGE);
}
}
}
(2) Log masuk kelas alat pemprosesan model
package Chapter_14.Part_8;
import Chapter_14.GetDatabaseConnection;
import javax.swing.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class loginHandle {
Connection connection = null;
PreparedStatement presql;
String sql;
ResultSet resultSet;
boolean loginSuccess;
public loginHandle() {
connection = GetDatabaseConnection.connectDB("book", "root", "");
}
public void readLogin(Login login) {
try {
sql = "select * from register where ID = ? and password = ? "; //主要用and
presql = connection.prepareStatement(sql);
presql.setString(1, login.getId());
presql.setString(2, login.getPassword());
resultSet = presql.executeQuery();
if (resultSet.next()) {
login.setLoginSuccess(true);
JOptionPane.showMessageDialog(null, "登录成功", "恭喜", JOptionPane.WARNING_MESSAGE);
} else {
login.setLoginSuccess(false);
JOptionPane.showMessageDialog(null, "登录失败", "提示", JOptionPane.WARNING_MESSAGE);
}
connection.close();
loginSuccess = login.isLoginSuccess();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
4. Anda boleh mereka bentuk kelas ujian untuk mengesahkan prestasi program lulus secara normal. Jika ia lulus, anda boleh mula mereka bentuk pandangan.
(1) Reka bentuk paparan pendaftaran
package Chapter_14.Part_8;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class registerPanel extends JPanel implements ActionListener {
Register register;
registerHandle registerHandle;
JTextField jTextFieldID;
JTextField jTextFieldPassword;
JButton jregister;
public registerPanel() {
//setLayout(new FlowLayout());
//setVisible(true);
init();
validate();
}
void init() {
jTextFieldID = new JTextField(12);
add(new JLabel("ID:"));
add(jTextFieldID);
jTextFieldPassword = new JTextField(12);
jTextFieldPassword.addActionListener(this);
add(new JLabel("PASSWORD:"));
add(jTextFieldPassword);
jregister = new JButton("Register");
jregister.addActionListener(this);
add(jregister);
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
register = new Register();
register.setId(jTextFieldID.getText());
register.setPassword(jTextFieldPassword.getText());
registerHandle = new registerHandle();
registerHandle.writeRegister(register);
jTextFieldPassword.setText(null);
}
}
(2) Reka bentuk paparan log masuk
package Chapter_14.Part_8;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class loginPanel extends JPanel implements ActionListener {
Login login;
loginHandle loginHandle;
JTextField jTextFieldID;
JPasswordField jTextFieldPassword;
JButton jLogin;
public loginPanel() {
//setLayout(new FlowLayout());
//setVisible(true);
init();
validate();
}
void init() {
jTextFieldID = new JTextField(12);
add(new JLabel("ID:"));
add(jTextFieldID);
jTextFieldPassword = new JPasswordField(12);
jTextFieldPassword.addActionListener(this);
add(new JLabel("PASSWORD:"));
add(jTextFieldPassword);
jLogin = new JButton("Login");
jLogin.addActionListener(this);
add(jLogin);
}
public boolean isLoignSuccess() {
return loginHandle.loginSuccess;
}
@Override
public void actionPerformed(ActionEvent actionEvent) {
login = new Login();
login.setId(jTextFieldID.getText());
char[] p = jTextFieldPassword.getPassword();
login.setPassword(new String(p));
loginHandle = new loginHandle();
loginHandle.readLogin(login);
}
5 Gabungkan dua kelas paparan di atas menjadi satu kelas untuk kemudahan Penyelenggaraan dan pengubahsuaian.
package Chapter_14.Part_8;
import javax.swing.*;
import java.awt.*;
public class combinePanel extends JPanel {
JTabbedPane jTabbedPane;
registerPanel registerPanel;
loginPanel loginPanel;
public combinePanel() {
//setLayout(new BorderLayout()); 不设置时不全框显示
jTabbedPane = new JTabbedPane();
registerPanel = new registerPanel();
loginPanel = new loginPanel();
jTabbedPane.addTab("注册界面", registerPanel);
jTabbedPane.addTab("登录界面", loginPanel);
add(jTabbedPane, BorderLayout.CENTER);
jTabbedPane.validate();
}
public boolean isLoginSuccess() {
return loginPanel.isLoignSuccess();
}
}
6. Semuanya direka dan sedia untuk dijalankan. Tetapkan pintu masuk utama sesuatu program.
rreeeeAtas ialah kandungan terperinci Cara menggunakan pangkalan data Java dan MySQL untuk melaksanakan pendaftaran dan log masuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!