数据库

来源:互联网 发布:阿里云 虚拟主机 美国 编辑:程序博客网 时间:2024/06/06 09:41

数据库的增删改查

package com.lingzhuo.sql;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class SqlManger {    private Statement state;    public Statement getState() {        return state;    }    public void setState(Statement state) {        this.state = state;    }    public static SqlManger manger;    public static synchronized SqlManger newInstance(){        if(manger==null){            manger=new SqlManger();        }        return manger;    }    private SqlManger(){        String driver="com.mysql.jdbc.Driver";        String url="jdbc:mysql://localhost:3306/clazz";        String user="root";        String password="1639189";        try {            Class.forName(driver);            Connection conn=DriverManager.getConnection(url,user,password);            if(!conn.isClosed()){                state=conn.createStatement();//数据库操作类                String userTable="create table if not exists user(name varchar(20)not null,sex varchar(10)not null,age int(5))";                state.execute(userTable);                /*//增                String insert="insert into student(name,sex,age)values('李四','男',33)";                state.execute(insert);*/                /*//改                String update="update student set sex='男'where name='李四'";                state.execute(update);*/                /*//删                String delete="delete from student where id=201216311";                state.execute(delete);*/                //查                /*String select="select * from student";                ResultSet set=state.executeQuery(select);                set.first();                while(!set.isAfterLast()){                    String id=set.getString("id");                    String name=set.getString("name");                    String sex=set.getString("sex");                    String age=set.getString("age");                    System.out.println(id+"\t"+name+"\t"+sex+"\t"+age);                    set.next();                }*/            }else{                System.out.println("数据库已关闭");            }        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

用户注册

通过输入的方式向数据库中添加数据

package com.lingzhuo.sql;import java.awt.EventQueue;import java.awt.event.ActionEvent;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 javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;public class Register extends JFrame {    private JPanel contentPane;    private JTextField textFielduser;    private JTextField textFieldpass;    /**     * 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, 252, 248);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textFielduser = new JTextField();        textFielduser.setBounds(91, 28, 109, 28);        contentPane.add(textFielduser);        textFielduser.setColumns(10);        textFieldpass = new JTextField();        textFieldpass.setBounds(91, 66, 109, 28);        contentPane.add(textFieldpass);        textFieldpass.setColumns(10);        JButton button = new JButton("提交");        button.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent arg0) {                String userName = textFielduser.getText();                textFielduser.setText("");                String password = textFieldpass.getText();                textFieldpass.setText("");                Pattern p = Pattern.compile("^\\w{1,20}$");                Matcher m1 = p.matcher(userName);                System.out.println(m1.matches());                Matcher m2 = p.matcher(password);                Statement state = SqlManger.newInstance().getState();                if (m1.matches()) {                    if (m2.matches()) {                        String sql = "select * from user where name='" + userName + "'";                        ResultSet set;                        try {                            set = state.executeQuery(sql);                            set.last();                            int num = set.getRow();                            if (num > 0) {                                System.out.println("该用户名已存在");                            } else {                                String insert = "insert into user(name,password)values('" + userName + "','" + password                                        + "')";                                state.execute(insert);                                System.out.println("注册成功");                            }                        } catch (SQLException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        }                    } else {                        System.out.println("密码格式不正确");                    }                } else {                    System.out.println("用户名格式不正确");                }            }        });        button.setBounds(95, 126, 93, 23);        contentPane.add(button);        JLabel label = new JLabel("用户名");        label.setBounds(27, 34, 54, 15);        contentPane.add(label);        JLabel label_1 = new JLabel("密码");        label_1.setBounds(27, 72, 54, 15);        contentPane.add(label_1);    }}

用户登录

即先查询数据库中的内容,如果数据库中存在该信息,则返回登陆成功

package com.lingzhuo.sql;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 textFielduser;    private JTextField textFieldpass;    /**     * 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, 258, 242);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textFielduser = new JTextField();        textFielduser.setBounds(97, 27, 93, 36);        contentPane.add(textFielduser);        textFielduser.setColumns(10);        textFieldpass = new JTextField();        textFieldpass.setBounds(97, 73, 93, 36);        contentPane.add(textFieldpass);        textFieldpass.setColumns(10);        JButton btnNewButton = new JButton("登录");        btnNewButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String userName=textFielduser.getText();                String password=textFieldpass.getText();                Statement state=SqlManger.newInstance().getState();                String select="select * from user where name='"+userName+"'and password='"+password+"'";                try {                                       ResultSet set=state.executeQuery(select);                    set.last();                    int num=set.getRow();                    if(num==1){                        System.out.println("登陆成功");                    }else{                        System.out.println("用户名或密码错误");                    }                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        btnNewButton.setBounds(97, 138, 93, 23);        contentPane.add(btnNewButton);        JLabel lblNewLabel = new JLabel("用户名");        lblNewLabel.setBounds(36, 30, 54, 15);        contentPane.add(lblNewLabel);        JLabel lblNewLabel_1 = new JLabel("密码");        lblNewLabel_1.setBounds(36, 76, 54, 15);        contentPane.add(lblNewLabel_1);    }}
0 0
原创粉丝点击