第五周第一天(数据库)

来源:互联网 发布:微信小说网站源码 编辑:程序博客网 时间:2024/04/26 01:11
package com.day1_2015_08_10;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class MySql {    public static void main(String[] args) {        // 连接数据库的驱动        String driver = "com.mysql.jdbc.Driver";        // URL指向要访问的数据库名        String url = "jdbc:mysql://localhost:3306/clazz";        // MySql配置时的用户名        String user = "root";        // java连接MySql配置时的密码        String password = "1149424898";        try {            Class.forName(driver);// 加载驱动            Connection conn = DriverManager.getConnection(url, user, password);            if (!conn.isClosed()) {//数据库是否关闭                // 数据库操作                Statement state = conn.createStatement();//              String insert = "insert into student(stu_name,sex,age)values('李四',1,22)";//增//              String delete="delete from student where stu_name='李四'";//删//              String update="update student set age=20 where stu_name='李四'";//改                // state.execute(insert);                String select = "select*from student";// 查                ResultSet set = state.executeQuery(select);                set.first();// 先把游标移到第一位                while (!set.isAfterLast()) {//判断游标是否在最后一个后边                    String name = set.getString("stu_name");                    System.out.println(name);                    set.next();//游标下移                }                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.day1_2015_08_10;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class SQLManager {    private Statement statement;    private static SQLManager manager;// 静态的方法里只能用静态的属性    public static synchronized SQLManager newInstance() {// 加锁是为了防止多个线程运行的情况下新建多个manager        if (manager == null) {            manager = new SQLManager();        }        return manager;    }    public Statement getStatement() {        return statement;    }    public void setStatement(Statement statement) {        this.statement = statement;    }    private SQLManager() {        // 连接数据库的驱动        String driver = "com.mysql.jdbc.Driver";        // URL指向要访问的数据库名        String url = "jdbc:mysql://localhost:3306/clazz";        // MySql配置时的用户名        String user = "root";        // java连接MySql配置时的密码        String password = "1149424898";        try {            Class.forName(driver);// 加载驱动            // 与数据库建立连接            Connection conn = DriverManager.getConnection(url, user, password);            if (!conn.isClosed()) {// 数据库是否关闭                // 数据库操作                statement = conn.createStatement();                //创建一个user表                String creatTable = "CREATE TABLE if not exists user(id int(11) NOT NULL "                        + "PRIMARY KEY AUTO_INCREMENT,"                        + "userName varchar(20) BINARY NOT NULL,"                        + "password varchar(40) BINARY NOT NULL)";                statement.execute(creatTable);            }            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.day1_2015_08_10;import java.awt.BorderLayout;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import java.awt.Color;import javax.swing.JTextField;import javax.swing.JLabel;import javax.swing.JButton;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.awt.event.ActionEvent;public class SQL extends JFrame {    private JPanel contentPane;    private JTextField textFieldPassword;    private JTextField textFieldUserName;    /**     * Launch the application.     */    public static void main(String[] args) {        EventQueue.invokeLater(new Runnable() {            public void run() {                try {                    SQL frame = new SQL();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    /**     * Create the frame.     */    public SQL() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 450, 300);        contentPane = new JPanel();        contentPane.setBackground(Color.PINK);        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textFieldPassword = new JTextField();        textFieldPassword.setBounds(159, 102, 120, 42);        contentPane.add(textFieldPassword);        textFieldPassword.setColumns(10);        JLabel label = new JLabel("用户名");        label.setBounds(56, 50, 54, 15);        contentPane.add(label);        JLabel lblNewLabel = new JLabel("密码");        lblNewLabel.setBounds(56, 115, 54, 15);        contentPane.add(lblNewLabel);        textFieldUserName = new JTextField();        textFieldUserName.setBounds(159, 37, 120, 42);        contentPane.add(textFieldUserName);        textFieldUserName.setColumns(10);        JButton btnNewButton = new JButton("注册");        btnNewButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String userName =textFieldUserName.getText();                String password =textFieldPassword.getText();                Statement state =SQLManager.newInstance().getStatement();                String sql="select count(*)from user where userName='"+userName+"'";                String regex ="^[0-9a-zA-Z]{8,16}$" ;                if (password.matches(regex)) {                  System.out.println(password+"是一个合法的密码格式");              }else{                  System.out.println(password+"不是一个合法的密码格式");              }                try {                    ResultSet set =state.executeQuery(sql);                    set.first();                    int num =set.getInt(1);                    if(num>0){                        System.out.println("该用户已存在");                    }else{                        String register ="insert into user(userName,password)values('"+userName+"','"+password+"')";                     state.execute(register);                     System.out.println("注册成功");                    }                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        btnNewButton.setBounds(159, 191, 120, 36);        contentPane.add(btnNewButton);    }}***********************************package com.day1_2015_08_10;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.JLabel;import javax.swing.JButton;import java.awt.Color;import java.awt.event.ActionListener;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.awt.event.ActionEvent;public class Signin 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 {                    Signin frame = new Signin();                    frame.setVisible(true);                } catch (Exception e) {                    e.printStackTrace();                }            }        });    }    /**     * Create the frame.     */    public Signin() {        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setBounds(100, 100, 450, 300);        contentPane = new JPanel();        contentPane.setBackground(Color.PINK);        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));        setContentPane(contentPane);        contentPane.setLayout(null);        textFielduserName = new JTextField();        textFielduserName.setBounds(156, 46, 93, 38);        contentPane.add(textFielduserName);        textFielduserName.setColumns(10);        textFieldpassword = new JTextField();        textFieldpassword.setBounds(156, 111, 93, 38);        contentPane.add(textFieldpassword);        textFieldpassword.setColumns(10);        JLabel lblNewLabeluserName = new JLabel("用户名");        lblNewLabeluserName.setBounds(48, 49, 54, 15);        contentPane.add(lblNewLabeluserName);        JLabel lblNewLabelPassword = new JLabel("密码");        lblNewLabelPassword.setBounds(48, 114, 54, 15);        contentPane.add(lblNewLabelPassword);        JButton btnNewButton = new JButton("登录");        btnNewButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String userName = textFielduserName.getText();                String password = textFieldpassword.getText();                Statement state=SQLManager.newInstance().getStatement();                String sql ="select * from user where BINARY userName='"+userName+"'and password='"+password+"'";                //BINARY 区分大小写                try {                    ResultSet set =state.executeQuery(sql);                    set.last();                    int num=set.getRow();                    System.out.println(num);                } catch (SQLException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        btnNewButton.setBounds(156, 185, 93, 23);        contentPane.add(btnNewButton);    }}
0 0
原创粉丝点击