java中數據庫字典的最佳實踐(java 數據字典設計)

  • 1、如何利用JAVA在數據庫中實現查詢功能
  • 2、在Java語言中如何實現數據庫的訪問?
  • 3、JAVA 最佳實踐 到底什麼是最佳實踐,什麼意思呢?在線等
  • 4、JAVA代碼中如何封裝數據字典。
  • 5、Java集合類框架的最佳實踐有哪些?
  • 6、Java中對數據庫操作實例

不知道你會不會看懂啊 這是查詢一個名字,把他相關的一些信息列出來

String strSQL;

strSQL=”select * from tb_manager where manager='”+jTextField1.getText().trim()+”‘”;

rs=db.getResult(strSQL);

try

{

if(rs.first())

{

jTextField1.setText(rs.getString(“manager”));

jTextField2.setText(rs.getString(“den”));

jTextField3.setText(rs.getString(“ID”));

jTextField4.setText(rs.getString(“remark”));

jTextField5.setText(rs.getString(“sex”));

}

else

{

JOptionPane.showMessageDialog(null,”無此信息”);

}

}catch(SQLException e)

{JOptionPane.showMessageDialog(null,” 查詢信息失敗!”);}

}

1.JDBC唄,import java.sql.*;

傳統連接方式

Connection conn = getConnection();//獲得連接

//注意下邊應該拋出個SQLException異常

Statement stat = conn.createStatement();

stat.executeXXX(“………”)//執行SQL語句,查詢就是Query,插入,修改這種操作就Update

ResultSet result; //查詢後返回的結果集用這個保存

conn.close//最後別忘了關閉連接

2.當然是Hibernate了,是一種持久層技術,建立相應的實體後可以把數據庫當對象操作,非常方便,具體使用我覺得應該看看書會比較好!

自己動手,用java編程實現特定的功能需求,這就是java的最佳實踐。

Map可以實現類似數據庫的功能。比如一個人的姓名和年齡信息你可以存在一個Map裡面,就像這樣:

MapString, Integer map = new HashMapString, Integer();

map.put(“張三”, 40);

System.out.println(“張三的年齡是:” + map.get(“張三”);

1、根據應用的需要正確選擇要使用的集合的類型對性能非常重要,比如:假如元素的大小是固定的,而且能事先知道,就應該用Array而不是ArrayList。

2、有些集合類允許指定初始容量。因此,如果能估計出存儲的元素的數目,可以設置初始容量來避免重新計算hash值或者是擴容。

為了類型安全,可讀性和健壯性的原因總是要使用泛型。同時,使用泛型還可以避免運行時的ClassCastException。

3、使用JDK提供的不變類(immutableclass)作為Map的鍵可以避免為自己的類實現hashCode()和equals()方法。

4、編程的時候接口優於實現。

5、底層的集合實際上是空的情況下,返回長度是0的集合或者是數組,不要返回null。

可以以普通的jdbc連接的使用習慣來使用連接池。 數據庫連接池在編寫應用服務是經常需要用到的模塊,太過頻繁的連接數據庫對服務性能來講是一個瓶頸,使用緩衝池技術可以來消除這個瓶頸。我們可以在互聯網上找到很多關於數據庫連接池的源程序,但是都發現這樣一個共同的問題:這些連接池的實現方法都不同程度地增加了與使用者之間的耦合度。很多的連接池都要求用戶通過其規定的方法獲取數據庫的連接,這一點我們可以理解,畢竟目前所有的應用服務器取數據庫連接的方式都是這種方式實現的。但是另外一個共同的問題是,它們同時不允許使用者顯式的調用Connection.close()方法,而需要用其規定的一個方法來關閉連接。這種做法有兩個缺點:第一:改變了用戶使用習慣,增加了用戶的使用難度。首先我們來看看一個正常的數據庫操作過程:int executeSQL(String sql) throws SQLExceptionfinallycatch(Exception e)catch(Exception e)return res;}使用者在用完數據庫連接後通常是直接調用連接的方法close來釋放數據庫資源,如果用我們前面提到的連接池的實現方法,那語句conn.close()將被某些特定的語句所替代。第二:使連接池無法對之中的所有連接進行獨佔控制。由於連接池不允許用戶直接調用連接的close方法,一旦使用者在使用的過程中由於習慣問題直接關閉了數據庫連接,那麼連接池將無法正常維護所有連接的狀態,考慮連接池和應用由不同開發人員實現時這種問題更容易出現。綜合上面提到的兩個問題,我們來討論一下如何解決這兩個要命的問題。首先我們先設身處地的考慮一下用戶是想怎麼樣來使用這個數據庫連接池的。用戶可以通過特定的方法來獲取數據庫的連接,同時這個連接的類型應該是標準的java.sql.Connection。用戶在獲取到這個數據庫連接後可以對這個連接進行任意的操作,包括關閉連接等。通過對用戶使用的描述,怎樣可以接管Connection.close方法就成了我們這篇文章的主題。為了接管數據庫連接的close方法,我們應該有一種類似於鉤子的機制。例如在Windows編程中我們可以利用Hook API來實現對某個Windows API的接管。在JAVA中同樣也有這樣一個機制。JAVA提供了一個Proxy類和一個InvocationHandler,這兩個類都在java.lang.reflect包中。我們先來看看SUN公司提供的文檔是怎麼描述這兩個類的。public interface InvocationHandlerInvocationHandler is the interface implemented by the invocation handler of a proxy instance. Each proxy instance has an associated invocation handler. When a method is invoked on a proxy instance, the method invocation is encoded and dispatched to the invoke method of its invocation handler.SUN的API文檔中關於Proxy的描述很多,這裡就不羅列出來。通過文檔對接口InvocationHandler的描述我們可以看到當調用一個Proxy實例的方法時會觸發Invocationhanlder的invoke方法。從JAVA的文檔中我們也同時了解到這種動態代理機制只能接管接口的方法,而對一般的類無效,考慮到java.sql.Connection本身也是一個接口由此就找到了解決如何接管close方法的出路。首先,我們先定義一個數據庫連接池參數的類,定義了數據庫的JDBC驅動程序類名,連接的URL以及用戶名口令等等一些信息,該類是用於初始化連接池的參數,具體定義如下:public class ConnectionParam implements Serializable /** * 從連接池工廠中獲取指定名稱對應的連接池

原創文章,作者:TUC9F,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126247.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
TUC9F的頭像TUC9F
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29

發表回復

登錄後才能評論