91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java單例模式學習筆記

發布時間:2020-07-07 11:50:28 來源:網絡 閱讀:307 作者:知止內明 欄目:軟件技術

java單例模式學習筆記


工具層:


import java.sql.Connection;

import java.sql.DriverManager;


//工具層


//DBHelper類,體現了單例模式的思想

public class DBHelper {


private static Connection conn; // 數據庫連接對象

// 驅動

private static final String DRIVER = "com.mysql.jdbc.Driver";

// 數據庫的URL地址

private static final String URL = "jdbc:mysql://192.168.47.196:3306/school?useUnicode=true&characterEncoding=UTF-8";

// 用戶名

private static final String USERNAME = "root";

// 密碼

private static final String PASSWORD = "123456";


// 在靜態代碼塊中,負責加載驅動

static {

try {

Class.forName(DRIVER);

} catch (Exception ex) {

ex.printStackTrace();

}

}


// 既然是單例模式,應該讓構造方法私有化

private DBHelper() {


}


// 外部調用的統一的方法

public static Connection getConnection() throws Exception {

if (conn == null) {

conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);

}

return conn;

}


}

業務邏輯層:


import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;


//DAO層


//學生業務邏輯類

public class StudentsDAO {


public static Connection conn = null;// 連接對象

public static PreparedStatement stmt = null;

public static ResultSet rs = null;// 結果集


// 添加學生方法

public boolean addStudents(Students s) {

String sql = "insert into Students values (?,?,?,?,?,?);";


try {

conn = DBHelper.getConnection();

stmt = conn.prepareStatement(sql);

stmt.setInt(1, s.getSid());

stmt.setString(2, s.getSname());

stmt.setInt(3, s.getAge());

stmt.setString(4, s.getGender());

stmt.setString(5, s.getEmail());

stmt.setString(6, s.getAddress());


int result = stmt.executeUpdate();

if (result > 0) {

return true;

} else {

return false;

}


} catch (Exception ex) {

ex.printStackTrace();

return false;

} finally {

destoryResource();

}


}


// 查詢所有的學生資料

public static void query() {

String sql = "select * from Students;";

try {

conn = DBHelper.getConnection();

rs = stmt.executeQuery(sql);

while (rs.next()) {

System.out.println("學號:" + rs.getInt("sid") + ",姓名:" + rs.getString("sname") + ",年齡:" + rs.getInt("age")

+ ",性別:" + rs.getString("gender"));

}

} catch (Exception ex) {

ex.printStackTrace();

} finally {

destoryResource();

}

}


// 釋放資源的方法

public static void destoryResource() {

try {

// if(rs!=null)

// {

// rs.close();

// rs=null;

// }

if (stmt != null) {

stmt.close();

stmt = null;

}

/*

* 暫時不釋放Connection資源 if(conn!=null) { conn.close(); conn=null; }

*/

} catch (Exception ex) {

ex.printStackTrace();

}

}


}


實體層:



public class Students {

private int sid;//學號

private String sname;//姓名

private int age;//年齡

private String gender;//性別

private String email;//電子郵箱

private String address;//地址

public int getSid() {

return sid;

}

public void setSid(int sid) {

this.sid = sid;

}

public String getSname() {

return sname;

}

public void setSname(String sname) {

this.sname = sname;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

//保留默認的不帶參數的構造方法

public Students()

{

}

public Students(int sid,String sname,int age,String gender,String email,String address)

{

this.sid = sid;

this.sname = sname;

this.age = age;

this.gender = gender;

this.email = email;

this.address = address;

}


}

測試層:


import java.sql.Connection;


public class Test {


public static void main(String[] args) {

// TODO Auto-generated method stub

try

{

          

 Connection conn1 = DBHelper.getConnection();

          Connection conn2 = DBHelper.getConnection();

          //測試是否是單例模式

          System.out.println(conn1==conn2);

  

 Students s = new Students(55,"張無忌",3,"男","zwj@123.com","武當山");

 StudentsDAO sdao = new StudentsDAO();

 if(sdao.addStudents(s))

 {

 System.out.println("添加成功!");

 

 }

 else

 {

 System.out.println("添加失敗!");

 

 }

}

catch(Exception ex)

{

ex.printStackTrace();

}

StudentsDAO.query();

}


}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙口市| 阿巴嘎旗| 鄄城县| 嘉义市| 香河县| 霸州市| 阿尔山市| 阿巴嘎旗| 平利县| 南漳县| 五常市| 榆社县| 荥经县| 托克托县| 论坛| 富顺县| 固原市| 湖北省| 长宁县| 江阴市| 平舆县| 拉孜县| 西贡区| 丰县| 青冈县| 公主岭市| 修武县| 淮南市| 原阳县| 松江区| 吉水县| 龙口市| 博客| 金塔县| 康马县| 陆丰市| 梓潼县| 万安县| 阜平县| 江陵县| 五峰|