package Jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class RegisterTest {
private Statement state;
public Statement getState() {
return state;
}
public void setState(Statement state) {
this.state = state;
}
private static RegisterTest manager;
public static synchronized RegisterTest newInstance(){
if(manager==null){
manager=new RegisterTest();
}
return manager;
}
private RegisterTest(){
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/clazz";
String user="root";
String password="123456";
try {
Class.forName(driver);
Connection con= DriverManager.getConnection(url, user, password);
if(!con.isClosed()){
state=con.createStatement();
String creattable="Create table if not exists user (id int primary key auto_increment,user_name varchar(30) binary NOT NULL,passerword varchar(30) NOT NULL)";
state.execute(creattable);
System.out.println("链接已打开");
}
else{
System.out.println("请打开连接");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package Jdbc;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.awt.event.ActionEvent;
public class Register extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JButton btnNewButton;
private JTextField textField_2;
private JLabel lblNewLabel;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Register frame = new Register();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Register() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(125, 39, 128, 28);
contentPane.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(123, 96, 130, 28);
contentPane.add(textField_1);
textField_1.setColumns(10);
btnNewButton = new JButton("\u6CE8\u518C");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String username=textField.getText();
Pattern simple=Pattern.compile("^((\\D|[a-zA-Z]){0,16})$");
Matcher matcher=simple.matcher(username);
boolean m=matcher.matches();
if(m==false){
System.out.println("用户名长度超长,请重新命名");
textField.setText("");
}
else{
String password=textField_1.getText();
String passwordsure=textField_2.getText();
if(password.equals(passwordsure)){
Statement state=RegisterTest.newInstance().getState();
String sql1="select * from user where user_name='"+username+"'";
try{
ResultSet set1=state.executeQuery(sql1);
set1.last();
int num1=set1.getRow();
if(num1>0){
System.out.println("该用户名已存在");
textField.setText("");
}
else{
String add="insert into user (user_name,passerword)values('"+username+"','"+password+"')";
try {
state.execute(add);
System.out.println("注册成功");
textField.setText("");
textField_1.setText("");
textField_2.setText("");
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
else{
System.out.println("两次密码不同,请重新输入");
textField_1.setText("");
textField_2.setText("");
}
}
}
});
btnNewButton.setBounds(141, 209, 93, 23);
contentPane.add(btnNewButton);
JLabel lblUsername = new JLabel("\u7528\u6237\u540D");
lblUsername.setBounds(37, 45, 54, 15);
contentPane.add(lblUsername);
JLabel lblPassword = new JLabel("\u5BC6\u7801");
lblPassword.setBounds(37, 102, 54, 15);
contentPane.add(lblPassword);
textField_2 = new JTextField();
textField_2.setBounds(125, 157, 128, 23);
contentPane.add(textField_2);
textField_2.setColumns(10);
lblNewLabel = new JLabel("\u786E\u8BA4\u5BC6\u7801");
lblNewLabel.setBounds(37, 161, 54, 15);
contentPane.add(lblNewLabel);
}
}
package Jdbc;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.awt.event.ActionEvent;
public class Login extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JButton btnNewButton;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Login frame = new Login();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Login() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(110, 51, 66, 21);
contentPane.add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setBounds(110, 112, 66, 21);
contentPane.add(textField_1);
textField_1.setColumns(10);
btnNewButton = new JButton("\u767B\u5F55");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String username=textField.getText();
String password=textField_1.getText();
Statement state=RegisterTest.newInstance().getState();
String select="select * from user where user_name='"+username+"'and passerword='"+password+"'";
String select2="select * from user where passerword='"+password+"'";
String select1="select * from user where user_name='"+username+"'";
try {
ResultSet set=state.executeQuery(select);
set.last();
int num=set.getRow();
System.out.println(num);
if(num==1){
System.out.println("登录成功");
textField.setText("");
textField_1.setText("");
}else{
ResultSet set1=state.executeQuery(select1);
set1.last();
int num1=set1.getRow();
ResultSet set2=state.executeQuery(select2);
set2.last();
int num2=set2.getRow();
if(num1==0){
System.out.println("该用户不存在");
textField.setText("");
}
else{
System.out.println("用户名不存在或密码错误");
textField.setText("");
textField_1.setText("");
}
}
}catch (SQLException e) {
e.printStackTrace();
}
}
});
btnNewButton.setBounds(107, 162, 93, 23);
contentPane.add(btnNewButton);
JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D");
lblNewLabel.setBounds(33, 54, 54, 15);
contentPane.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("\u5BC6\u7801");
lblNewLabel_1.setBounds(33, 115, 54, 15);
contentPane.add(lblNewLabel_1);
}
}