数据库连接

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);
    }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值