数据库

package com.lingzhuo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Sql {
	public static void main(String[] args) {
		String url = "jdbc:mysql://localhost:3306/class";
		String user = "root";
		String password = "123456";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn = DriverManager.getConnection(url, user, password);
			if (!conn.isClosed()) {
				Statement st = conn.createStatement();
				String select = "select * from person";
				ResultSet rs = st.executeQuery(select);
				// String insert="insert into person (name,sex) values('张三',1)";
				// st.execute(insert);
				// String delete="delete from person where id=1";
				// st.execute(delete);
				// String update="update from person set id=1 where name='李四'";
				// st.execute(update);
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

单例模式

##注册界面##

package com.lingzhuo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class SqlManager {
	/*
	 * 单例设计模式
	 */
	private Statement statement;
	
	public Statement getStatement() {
		return statement;
	}
	/*
	 * 当构造器私有时不能通过new去创建一个对象,通过自己建的一个方法去创建对象
	 * 这样就只能创建一个对象
	 */
	private static SqlManager manager;
	public static synchronized SqlManager newInstance(){
		if(manager==null){
			manager=new SqlManager();
			
		}
		return manager;
	}
	private SqlManager(){
		String url="jdbc:mysql://localhost:3306/class";
		String user="root";
		String password="123456";
		try {
			Class.forName("com.mysql.jdbc.Driver");
			Connection conn=DriverManager.getConnection(url,user,password);
			if(!conn.isClosed()){
			statement=conn.createStatement();
			String createtable="create table if not exists user"
					+ "(id int(2) not null primary key auto_increment,name varchar(20),password varchar(10))";
			statement.execute(createtable);
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

package com.lingzhuo;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
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 textFieldPassword;
	private JButton btnNewButton;
	private JTextArea textAreaUserName ;

	/**
	 * 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);
		
		JLabel lblNewLabel = new JLabel("用户名");
		lblNewLabel.setBounds(35, 42, 54, 15);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("密码");
		lblNewLabel_1.setBounds(35, 100, 54, 15);
		contentPane.add(lblNewLabel_1);
		
	    textAreaUserName = new JTextArea();
		textAreaUserName.setBounds(139, 38, 116, 24);
		contentPane.add(textAreaUserName);
		
		textFieldPassword = new JTextField();
		textFieldPassword.setBounds(139, 97, 120, 21);
		contentPane.add(textFieldPassword);
		textFieldPassword.setColumns(10);
		
	    btnNewButton = new JButton("注册");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//得到用户名
				String UserName=textAreaUserName.getText().toString();
				//用正则表达式验证用户名
         		
				 Pattern p = Pattern.compile("^\\S$");
				 Matcher m = p.matcher(UserName);
				 boolean b = m.matches();
				 System.out.println("用户名"+b);
				 //得到密码
				String UserPassword=textFieldPassword.getText().toString();
				//用正则表达式验证密码
				 Pattern p1 = Pattern.compile("^\\S$");
				 Matcher m1 = p.matcher(UserPassword);
				 boolean b1 = m.matches();
				 System.out.println("密码"+b1);
				Statement state=SqlManager.newInstance().getStatement();
				String select="select count(*) from user where name='"+UserName+"'";
				try {
					ResultSet rs=state.executeQuery(select);
					rs.first();
					int num =rs.getInt(1);
					if(num>0){
						System.out.println("该用户已存在");
					}else{
						String insert="insert into user(name,password) values('"+UserName+"','"+UserPassword+"')";
						state.execute(insert);
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		btnNewButton.setBounds(136, 160, 93, 23);
		contentPane.add(btnNewButton);
	}
}

##登录界面##

package com.lingzhuo;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.TextArea;

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 textFieldUserName;
	private JTextField textFieldPassword;

	/**
	 * 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);
		
		textFieldUserName = new JTextField();
		textFieldUserName.setBounds(154, 57, 120, 29);
		contentPane.add(textFieldUserName);
		textFieldUserName.setColumns(10);
		
		textFieldPassword = new JTextField();
		textFieldPassword.setBounds(154, 115, 120, 29);
		contentPane.add(textFieldPassword);
		textFieldPassword.setColumns(10);
		
		JButton btnNewButton = new JButton("\u767B\u5F55");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String userName=textFieldUserName.getText();
				String password=textFieldPassword.getText();
				Statement sta=SqlManager.newInstance().getStatement();
				String sql="select *from user where name='"+userName+"'and password='"+password+"'";
				try {
					ResultSet rs=sta.executeQuery(sql);
					rs.last();
					int num=rs.getRow();
					if(num!=0){
						System.out.println("登录成功");
					}else{
						System.out.println("登录失败");
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		btnNewButton.setBounds(164, 168, 93, 29);
		contentPane.add(btnNewButton);
		
		JLabel lblNewLabel = new JLabel("\u7528\u6237\u540D");
		lblNewLabel.setBounds(79, 60, 54, 22);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u5BC6 \u7801");
		lblNewLabel_1.setBounds(79, 115, 54, 29);
		contentPane.add(lblNewLabel_1);
	}

}

##查询界面##

package com.lingzhuo.test;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JList;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.awt.event.ActionEvent;

public class Query extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	private Statement state;
	private DefaultListModel<String> model;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Query frame = new Query();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public Query() {
		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);
		
		JLabel lblNewLabel = new JLabel("用户名");
		lblNewLabel.setBounds(28, 39, 70, 27);	
		contentPane.add(lblNewLabel);
		
		textField = new JTextField();
		textField.setBounds(108, 35, 138, 36);
		contentPane.add(textField);
		textField.setColumns(10);
		
		JButton btnNewButton = new JButton("查询");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String id=textField.getText();
			    state=SqlManager.newInstance().getManager();
			    String select="select * from student where id='"+id+"'";
			    try {
					ResultSet rs=state.executeQuery(select);
					rs.last();
					int num=rs.getRow();
					if(num!=0){
						String information=rs.getString("name");
						String information1=rs.getString("password");
					    model.addElement(information);
					    model.addElement(information1);
					}
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		btnNewButton.setBounds(272, 37, 115, 30);
		contentPane.add(btnNewButton);
		
		JList list = new JList();
		list.setBounds(97, 95, 180, 100);
		model=new DefaultListModel<String>();
		list.setModel(model);
		contentPane.add(list);
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值