配置文件
driver=com.mysql.jdbc.Driver
username=root
passwd=root
url=jdbc:mysql://localhost:3306/data_employee
工具类(用户获取数据库连接、释放资源)
package shixun.zuizhong;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
public class Mysql_driver_utils {
static String url,username,passwd;
static {
try {
ClassLoader classLoader = Mysql_driver_utils.class.getClassLoader();
URL resource = classLoader.getResource("mysql_driver.properties");
String path = resource.getPath();
Properties properties = new Properties();
properties.load(new FileReader(path));
url = properties.getProperty("url");
username = properties.getProperty("username");
passwd = properties.getProperty("passwd");
String driver = properties.getProperty("driver");
Class.forName(driver);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getconnetion() throws SQLException {
return DriverManager.getConnection(url,username,passwd);
}
public static void close(Connection connection, Statement statement, ResultSet resultSet){
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(statement!=null){
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(connection!=null){
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
public static void close(Connection connection, Statement statement){
if(statement!=null){
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(connection!=null){
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
public static void close(Statement statement){
if (statement!=null){
try {
statement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
界面和事件
package shixun.zuizhong;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Register_employee {
public static void main(String[] args) {
JFrame jFrame = new JFrame("员工信息注册");
jFrame.setSize(250,400);
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel username = new JLabel("用户名:");
JTextField user_n = new JTextField(20);
JLabel passwd = new JLabel("密码:");
JTextField passwd_p = new JTextField(20);
JButton register_btn = new JButton("注册");
JPanel jPanel = new JPanel();
jPanel.add(username);
jPanel.add(user_n);
jPanel.add(passwd);
jPanel.add(passwd_p);
jPanel.add(register_btn);
jFrame.add(jPanel);
ActionListener actionListener_re = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String user_text = user_n.getText();
String passwd_text = passwd_p.getText();
Connection connection = null;
PreparedStatement preparedStatement = null;
PreparedStatement preparedStatement2 = null;
ResultSet resultSet = null;
try {
connection = Mysql_driver_utils.getconnetion(); //获取数据库连接对象
connection.setAutoCommit(false); //开启事务 手动提交
String sql_str = "select * from table_employee where username=?";
preparedStatement = connection.prepareStatement(sql_str);
preparedStatement.setString(1,user_text);
//preparedStatement.setString(2,passwd_text);
resultSet = preparedStatement.executeQuery();
if(resultSet.next()){
user_n.setText("账户已存在");
}else {
//没有记录,注册成功 账号密码写入数据库
String sqlinster_str = "insert into table_employee(username,passwd) values (?,?)";
preparedStatement2 = connection.prepareStatement(sqlinster_str);
preparedStatement2.setString(1,user_text);
preparedStatement2.setString(2,passwd_text);
int i = preparedStatement2.executeUpdate();
if(i>0){
user_n.setText("注册成功!");
}else {
user_n.setText("注册失败!");
}
}
connection.commit(); //提交事务
} catch (SQLException throwables) {
throwables.printStackTrace();
try {
connection.rollback(); //事务回滚
} catch (SQLException sqlException) {
sqlException.printStackTrace();
}
}finally {
//释放资源
Mysql_driver_utils.close(connection,preparedStatement,resultSet);
Mysql_driver_utils.close(preparedStatement2);
}
}
};
register_btn.addActionListener(actionListener_re);
}
}