JAVA基础一大堆0810数据库小练习

来源:互联网 发布:html5建站 编辑:程序博客网 时间:2024/05/17 04:31

实现了对数据库的增删改查基本功能,代码如下:
建立数据库文件demo后

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;public class SQLManager {    // 单例设计模式    private Statement statement;    private static SQLManager manager;    //  防止多线程产生多个对象    public static synchronized SQLManager newInstance() {        if (manager == null) {            manager = new SQLManager();        }        return manager;    }    private SQLManager() {        // 连接数据库的驱动        String driver = "com.mysql.jdbc.Driver";        // URL指向要访问的数据库名        String url = "jdbc:mysql://localhost:3306/clazz";        // MySQL配置时的用户名        String user = "root";        // Java连接MySQL配置时的密码        String password = "10312517";        try {            // 加载驱动            Class.forName(driver);            // 与数据库建立连接            Connection conn = DriverManager.getConnection(url, user, password);            if (!conn.isClosed()) {                // 数据库操作类                statement = conn.createStatement();            } else {                System.out.println("请打开数据库");            }        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public Statement getStatement() {        return statement;    }    public void setStatement(Statement statement) {        this.statement = statement;    }}import java.awt.BorderLayout;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.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import javax.swing.JButton;import javax.swing.JLabel;public class Register extends JFrame {    private JPanel contentPane;    private JTextField textAreaUserName;    private JTextField textAreaPassword;    private JButton btnSelect;    private JTextField textFieldScreen;    private JButton buttonDelete;    private String userName;    private String password;    private JButton btnUpdate;//  private Statement state;    private JTextField textFieldUpdate;    /**     * 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, 368, 300);        contentPane = new JPanel();        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textAreaUserName = new JTextField();        textAreaUserName.setBounds(127, 20, 155, 23);        contentPane.add(textAreaUserName);        textAreaUserName.setColumns(10);        textAreaPassword = new JTextField();        textAreaPassword.setBounds(127, 53, 155, 23);        contentPane.add(textAreaPassword);        textAreaPassword.setColumns(10);        JButton btnAdd = new JButton("\u589E\u52A0");        btnAdd.setBounds(52, 86, 74, 23);        contentPane.add(btnAdd);        btnAdd.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                String userName = textAreaUserName.getText();                // 用正则表达式限制输入名称                // Pattern p =                // Pattern.compile("([a-z]|[A-Z]|[0-9]|[\\u4e00-\\u9fa5])+");                // Matcher m = p.matcher(userName);                // boolean b = m.matches();                // if (!b) {                // UserName.setText("用户名格式有错误");                // String s = UserName.getText();                // System.out.println(s);                // }                String password = textAreaPassword.getText();                Statement state = SQLManager.newInstance().getStatement();                String sql = "select * from demo where name='" + userName + "'";                try {                    ResultSet set = state.executeQuery(sql);                    set.last();                    int num = set.getRow();// 返回num是第几行                    System.out.println(num);                    if (num > 0) {                        // if (!b) {                        // UserName.setText("用户名格式有错误");                        // String s = UserName.getText();                        // System.out.println(s);                        // } else {                        System.out.println("该记录已存在");                        // }                    } else {                        String register = "insert into demo(name,password)values('" + userName + "','" + password                                + "')";                        state.execute(register);                        System.out.println("增加记录成功");                    }                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        JLabel lblUser = new JLabel("user");        lblUser.setBounds(63, 24, 54, 15);        contentPane.add(lblUser);        JLabel lblPassword = new JLabel("password");        lblPassword.setBounds(52, 57, 60, 15);        contentPane.add(lblPassword);        btnSelect = new JButton("\u67E5\u627E");        btnSelect.setBounds(52, 119, 74, 23);        contentPane.add(btnSelect);        btnSelect.addActionListener(new ActionListener() {            // 查找记录            @Override            public void actionPerformed(ActionEvent e) {                String userName = textAreaUserName.getText();                Statement state = SQLManager.newInstance().getStatement();                String sql = "select * from demo where name='" + userName + "'";                try {                    ResultSet set = state.executeQuery(sql);                    set.last();                    int num = set.getRow();                    System.out.println(num);                    if (num == 1) {                        System.out.println("查找成功");                    } else {                        System.out.println("查找失败");                    }                    String password = set.getString("password");                    textFieldScreen.setText(password);                } catch (SQLException e1) {                    e1.printStackTrace();                }            }        });        textFieldScreen = new JTextField();        textFieldScreen.setBounds(179, 86, 103, 23);        contentPane.add(textFieldScreen);        textFieldScreen.setColumns(10);        buttonDelete = new JButton("\u5220\u9664");        buttonDelete.setBounds(52, 152, 74, 23);        contentPane.add(buttonDelete);        buttonDelete.addActionListener(new ActionListener() {            //删除记录内容            @Override            public void actionPerformed(ActionEvent e) {                userName=textAreaUserName.getText();                String delete = "delete from demo where name='" + userName + "'";                try {                    Statement state=SQLManager.newInstance().getStatement();                    state.execute(delete);                    System.out.println("删除本条记录");                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        btnUpdate = new JButton("\u4FEE\u6539");        btnUpdate.setBounds(52, 185, 74, 23);        contentPane.add(btnUpdate);        btnUpdate.addActionListener(new ActionListener() {            //更改记录内容            @Override            public void actionPerformed(ActionEvent e) {                textFieldScreen.setText("");                Statement state=SQLManager.newInstance().getStatement();                String idName=textAreaUserName.getText();                String upPassword =textFieldUpdate.getText();//              textFieldUpdate.setText(upPassword);                String update="update demo set password='"+upPassword+"' where name='"+idName+"'";                try {                    state.execute(update);                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }                textFieldScreen.setText(upPassword);                System.out.println("修改记录成功");            }        });        textFieldUpdate = new JTextField();        textFieldUpdate.setBounds(179, 186, 103, 21);        contentPane.add(textFieldUpdate);        textFieldUpdate.setColumns(10);    }}

这里写图片描述

0 0
原创粉丝点击