import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
class Login1 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
DataBaseConnect connect = new DataBaseConnect();
connect.Insert("胡彩月", "123456");
Login login = new Login("图书管理");
}
}
class Login extends JFrame implements ActionListener {
JButton btnLogin, btnRegister, btnCancel;
JPanel pnlSouth, pnlNorth, pnlCenter, pnlCenter1, pnlCenter2;
JLabel jLabel1, jLabelUser, jLabelPassWord;
JTextField jTextFieldUser, jTextFieldPassWord;
public Login(String title) {
super(title);
pnlNorth = new JPanel();
jLabel1 = new JLabel("欢迎进入图书管理系统!");
pnlNorth.add(jLabel1);
this.add(pnlNorth, BorderLayout.NORTH);
pnlCenter = new JPanel();
pnlCenter1 = new JPanel();
pnlCenter2 = new JPanel();
pnlCenter.setLayout(new BorderLayout());
jLabelUser = new JLabel(" 用 户:");
jTextFieldUser = new JTextField(15);
pnlCenter1.add(jLabelUser);
pnlCenter1.add(jTextFieldUser);
pnlCenter.add(pnlCenter1, BorderLayout.NORTH);
jLabelPassWord = new JLabel("密 码:");
jTextFieldPassWord = new JTextField(15);
pnlCenter2.add(jLabelPassWord);
pnlCenter2.add(jTextFieldPassWord);
pnlCenter.add(pnlCenter2, BorderLayout.CENTER);
this.add(pnlCenter, BorderLayout.CENTER);
pnlSouth = new JPanel();
btnLogin = new JButton("登录");
btnLogin.addActionListener(this);
btnRegister = new JButton("注册");
btnRegister.addActionListener(this);
btnCancel = new JButton("取消");
btnCancel.addActionListener(this);
pnlSouth.add(btnLogin);
pnlSouth.add(btnRegister);
pnlSouth.add(btnCancel);
this.add(pnlSouth, BorderLayout.SOUTH);
this.setSize(400, 200);
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
DataBaseConnect connect = new DataBaseConnect();
if (e.getSource() == btnLogin) {
String user = jTextFieldUser.getText();
if (user.equals("")) {
JOptionPane.showMessageDialog(this, "请输入账号");
} else if (user != null) {
try {
if (!connect.Select(user)) {
JOptionPane.showMessageDialog(this, "恭喜您,登陆成功!");
setVisible(false);
dispose();
new MenuJFrame();
}
else
JOptionPane.showMessageDialog(this, "该账号不存在!");
} catch (SQLException | ClassNotFoundException ex) {
ex.printStackTrace();
}
}
}
else if (e.getSource() == btnRegister) {
String user = jTextFieldUser.getText();
String password = jTextFieldPassWord.getText();
try {
boolean result = connect.Insert(user, password);
if (!result) {
connect.Insert(user, password);
JOptionPane.showMessageDialog(this, "恭喜,注册成功");
} else {
JOptionPane.showMessageDialog(this, "该账号已经存在!");
}
} catch (SQLException | ClassNotFoundException ex) {
ex.printStackTrace();
}
}
else if (e.getSource()==btnCancel){
JOptionPane.showMessageDialog(this,"告辞");
System.exit(0);
}
}
}
import java.sql.*;
class DataBaseConnect {
static private String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static private String DB_URl = "jdbc:mysql://root@localhost:3306/library?characterEncoding=utf8";
static final String USER = "root";
static final String PASS = "123456";
Connection connection;
PreparedStatement sql;
ResultSet resultSet;
public Connection getConnection() throws SQLException, ClassNotFoundException {
Class.forName(JDBC_DRIVER);
connection = DriverManager.getConnection(DB_URl, USER, PASS);
System.out.println("数据库链接成功");
return connection;
}
public void CloseConnection(Connection connection) throws SQLException {
if (connection != null)
connection.close();
}
public boolean Select(String user) throws SQLException, ClassNotFoundException {
connection = this.getConnection();
sql = connection.prepareStatement("select *from library.db_账户 ");
int flag = 0;
try {
resultSet = sql.executeQuery();
while (resultSet.next()) {
String username = resultSet.getString("username");
if (user.equals(username))
flag = 1;
}
} catch (Exception e) {
e.printStackTrace();
}
if (flag == 0)
return true;
else
return false;
}
public boolean Insert(String user, String password) throws SQLException, ClassNotFoundException {
connection = this.getConnection();
boolean result = this.Select(user);
if (result) {
sql = connection.prepareStatement("insert into library.db_账户(username, password) values(?,?)");
sql.setString(1, user);
sql.setString(2, password);
sql.executeUpdate();
return true;
} else {
return false;
}
}
public void Delete(String user, String password) throws SQLException, ClassNotFoundException {
connection = this.getConnection();
boolean result = this.Select(user);
if (!result) {
sql = connection.prepareStatement("delete from library.db_账户 where username=?");
sql.setString(1, user);
sql.executeUpdate();
}
}
public String AddBook(String bookName, String bookAuthor, String bookTime, int number) throws SQLException, ClassNotFoundException {
connection = this.getConnection();
sql = connection.prepareStatement("insert into library.db_book(BookName, BookAuthor, BookTime, BookNumber) values(?,?,?,?)");
sql.setString(1, bookName);
sql.setString(2, bookAuthor);
sql.setString(3, bookTime);
sql.setInt(4, number);
sql.executeUpdate();
return "添加书籍成功";
}
public boolean SelectBook(String bookName) throws SQLException, ClassNotFoundException {
connection = this.getConnection();
sql = connection.prepareStatement("select *from library.db_book ");
resultSet = sql.executeQuery();
int flag = 0;
while (resultSet.next()) {
String book = resultSet.getString("BookName");
if (bookName.equals(book))
flag = 1;
}
if (flag == 1)
return true;
else
return false;
}
public void DeleteBook(String bookName) throws SQLException, ClassNotFoundException {
connection=this.getConnection();
sql = connection.prepareStatement("delete from library.db_book where BookName=?");
sql.setString(1, bookName);
sql.executeUpdate();
}
}