DataSource的單態(tài)模式(SingleTon)HelloWorld例子

DataSource的單態(tài)模式(SingleTon)程序
咱們還接著上面的例子來(lái)說(shuō)。1萬(wàn)個(gè)人要看書(shū)。千萬(wàn)確保要只建立一個(gè)圖書(shū)館。要是一不留神,建了兩個(gè)或三個(gè)圖書(shū)館,那可就虧大發(fā)了。對(duì)于數(shù)據(jù)源來(lái)講,最重要的是要保證在內(nèi)存當(dāng)中只有一個(gè)實(shí)例。如果存在多個(gè)實(shí)例,那就虧大了。
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
例:6.2.1

import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;
import java.sql.*;
import javax.sql.*;
public class DatabaseConn {

    static private MysqlConnectionPoolDataSource ds;
    private Connection con;

    private DatabaseConn() {
        ds = new MysqlConnectionPoolDataSource();
        ds.setURL("jdbc:mysql://localhost:3306/test");
        ds.setUser("root");
        ds.setPassword("1234");
    }

    public static Connection getConnection() throws Exception {
        if (ds == null) {
/*DatabaseConn的目的是讓ds有值,和con無(wú)關(guān)*/          
            new DatabaseConn();
        }
        Connection con = null;
        con = ds.getConnection();
        return con;
    }
}
}




以下是測(cè)試程序:

import java.sql.*;
import javax.sql.*;
public class TestMark_to_win {
    public static void main(String args[]) throws Exception {
        Connection con= DatabaseConn.getConnection();
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("select * from login");
        while (rs.next()) {
            System.out.println(rs.getString("id"));
            System.out.println(rs.getString("name"));
        }
        System.out.println("ok");
  
        Connection con1= DatabaseConn.getConnection();
        Statement stmt1 = con1.createStatement();
        ResultSet rs1 = stmt1.executeQuery("select * from login");
        while (rs1.next()) {
            System.out.println(rs1.getString("id"));
            System.out.println(rs1.getString("name"));
        }
        System.out.println("ok");
    }
}



結(jié)果是:
11
q
2
qq
3
qqq
ok
11
q
2
qq
3
qqq
ok




作業(yè):

1)建立一個(gè)數(shù)據(jù)庫(kù)jdbc,里面有兩個(gè)表,Login (LoginID,username,password)和Particulars(PersonID,degree,age,address)
   第一步做一Java Application,用參數(shù)輸入username 和password, 如正確,就繼續(xù)。如錯(cuò)誤就退出。
2)續(xù)第一步,如正確,根據(jù)參數(shù)可修改自己的Particulars.
(提示:for(int i=0;i<args.length;i++) {l.add(args[i]);}

課外作業(yè):

3) transfer the data in the file to a table in the database.(mysql and Singleton)

課外閱讀:

本章有太多內(nèi)容(又沒(méi)時(shí)間講),所以只能提供可運(yùn)行的代碼,供學(xué)有余力的同學(xué)參考?!?br>refer to: H:\java教程\java下教程\jdbc\src