1. 程式人生 > >MySQL資料庫與登入註冊

MySQL資料庫與登入註冊

這裡寫圖片描述

資料庫

資料庫中增刪改查

CREATE DATABASE clazz

CREATE TABLE  student(id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,stu_name varchar(30) NOT NULL,sex  int(1),age int(3))

insert into student(stu_name,sex,age)value('張三',1,0)
insert into student(stu_name,sex,age)value('李四',1,22)
insert into student(stu_name,sex,age)value('王五'
,0,23) update student set age=20,sex=0 where stu_name='張三' select stu_name from student where age>20 select * from student delete from student where stu_name ='李四' delete from student where stu_name ='褚文斌' insert into student(stu_name,sex,age)value('李海猛',0,23)

java連線資料庫實現增刪改查

   try {
            Class.forName(driver);//載入驅動
//與資料庫建立連線 Connection conn=DriverManager.getConnection(url, user, password); if(!conn.isClosed()){ //建立statement物件 Statement state=conn.createStatement(); //增 String insert="insert into student(stu_name,sex,age)values('旺財',1,23)"
; //改 String update ="update student set age=20 where stu_name='李四'"; //刪 String delete="delete from student where stu_name='李四'"; //state.execute(insert);增刪改 //查 String select="select *from student"; //ResultSet 物件具有指向其當前資料行的游標。最初, //游標被置於第一行之前。next 方法將游標移動到下一行; //因為該方法在 ResultSet 物件沒有下一行時返回 false, //所以可以在 while 迴圈中使用它來迭代結果集。 ResultSet set=state.executeQuery(select); set.first(); while(!set.isAfterLast()){ String name =set.getString("stu_name"); System.out.println(name); set.next(); } }else{ }

單例設計模式

/**
 * 
 * @author單例設計模式
 * 1私有構造器
 * 2靜態公開的方法
 * 3私有靜態的屬性
 * 4方法加執行緒鎖
 *
 */
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";
        String url = "jdbc:mysql://localhost:3306/clazz";
        String user = "root";
        String password = "123456";

        try {
            Class.forName(driver);// 載入驅動
            // 與資料庫建立連線
            Connection conn = DriverManager.getConnection(url, user, password);
            if (!conn.isClosed()) {
                // 建立statement物件
                Statement state = conn.createStatement();
                // 增
                String insert = "insert into  student(stu_name,sex,age)values('旺財',1,23)";
                // 改
                String update = "update student set age=20 where stu_name='李四'";
                // 刪
                String delete = "delete from student where stu_name='李四'";

                // state.execute(insert);增刪改
                // 查
                String select = "select *from student";
                // ResultSet 物件具有指向其當前資料行的游標。最初,
                // 游標被置於第一行之前。next 方法將游標移動到下一行;
                // 因為該方法在 ResultSet 物件沒有下一行時返回 false,
                // 所以可以在 while 迴圈中使用它來迭代結果集。
                ResultSet set = state.executeQuery(select);
                set.first();
                while (!set.isAfterLast()) {
                    String name = set.getString("stu_name");
                    System.out.println(name);
                    set.next();
                }

            } else {

            }

        } catch (ClassNotFoundException e) {

            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

註冊

public void actionPerformed(ActionEvent arg0) {
                String userName=textFieldUserName.getText();
                String password=textFieldPassword.getText();
                Statement  state=SQLManager.newInstance().getStatement();
                //查詢
                String sql="select * from user where userName='"+userName+"'";
                try {
                    ResultSet  set=state.executeQuery(sql);
                    set.last();//遊標移動到最後一行
                    int num =set.getRow();
                    System.out.println(num);
                    if(num>0){
                        System.out.println("該使用者已存在");
                    }else{//查詢沒有然後註冊

                        String register ="insert into user(userName,password)values('"+userName+"','"+password+"') ";
                        state.executeQuery(register);
                        System.out.println("註冊成功");
                    }

登入

    public void actionPerformed(ActionEvent e) {
                String userName=textFieldUserName.getText();
                String password=textFieldpassword.getText();
                Statement  state=SQLManager.newInstance().getStatement();
                String select="select *from user where userName='"+userName+"'and '"+password+"'";

                try {
                    ResultSet set=state.executeQuery(select);
                    set.last();
                    int num=set.getRow();
                    System.out.println(num);
                    if(num==1){
                        System.out.println("存在此使用者,跳轉");
                    }else{
                        System.out.println("請先註冊");
                    }


                } catch (SQLException e1) {

                    e1.printStackTrace();
                }



            }
        });