jdbc 批量insert_JDBC相关知识解答
1. JDBC_PreparedStatement插入大量數(shù)據(jù)_批處理插入_效率比較
(1) jdbc新增大量數(shù)據(jù)時(shí), 如何處理能提高效率?
答:使用批處理提高效率
(2) 什么是批處理? JDBC如何進(jìn)行批處理?
答:批處理:在與數(shù)據(jù)庫(kù)的一次連接中,批量的執(zhí)行條 SQL 語(yǔ)句。
使用addBatch()方法將多條sql語(yǔ)句緩存起來(lái)
再使用executeBatch()方法將多條sql語(yǔ)句一同執(zhí)行。
2. JDBC_ORM_使用Map封裝查詢記錄
(1) 什么是ORM?
答:ORM(Object Relation Mapping) 指對(duì)象和關(guān)系型數(shù)據(jù)庫(kù)的映射。
(2) ORM解決的主要問(wèn)題是什么?
答:將數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息封存到對(duì)象中,便于查詢
3. JDBC_ORM_認(rèn)識(shí)分層開發(fā)_包結(jié)構(gòu)
(1) 什么是分層開發(fā), 為什么要進(jìn)行分層開發(fā)?
答:應(yīng)用程序通過(guò)創(chuàng)建不同的包來(lái)實(shí)現(xiàn)項(xiàng)目的分層,將項(xiàng)目中的代碼根據(jù)功能做具體劃分,
并存放在不同的包下。
進(jìn)行分層的優(yōu)點(diǎn)和原因:
1、分層結(jié)構(gòu)將應(yīng)用系統(tǒng)劃分為若干層,每一層只解決問(wèn)題的一部分,通過(guò)各層的協(xié)作
提供整體解決方案。大的問(wèn)題被分解為一系列相對(duì)獨(dú)立的子問(wèn)題,局部化在每一層中,這樣就有效的降低了單個(gè)問(wèn)題的規(guī)模和復(fù)雜度,實(shí)現(xiàn)了復(fù)雜系統(tǒng)的第一步也是最為關(guān)鍵的一步分解。
2、分層結(jié)構(gòu)具有良好的可擴(kuò)展性,為應(yīng)用系統(tǒng)的演化增長(zhǎng)提供了一個(gè)靈活的支持,具
有良好的可擴(kuò)展性。增加新的功能時(shí),無(wú)須對(duì)現(xiàn)有的代碼做修改,業(yè)務(wù)邏輯可以得到最大限
度的重用。
3、分層架構(gòu)易于維護(hù)。在對(duì)系統(tǒng)進(jìn)行分解后,不同的功能被封裝在不同的層中,層與
之間的耦合顯著降低。因此在修改某個(gè)層的代碼時(shí),只要不涉及層與層之間的接口,就不會(huì)對(duì)其他層造成嚴(yán)重影響。
4. JDBC_分層開發(fā)_環(huán)境搭建
(1) 什么是POJO?
答:POJO(Plain Ordinary Java Object)簡(jiǎn)單的Java對(duì)象,實(shí)際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡(jiǎn)稱。
(2) 實(shí)體類有哪些特點(diǎn)?
答:1.實(shí)體類的屬性一般使用private修飾
2.根據(jù)業(yè)務(wù)需要和封裝性要求對(duì)實(shí)體類的屬性提供get/set方法,負(fù)責(zé)屬性的讀取和賦值,一般用public修飾
3.對(duì)實(shí)體類提供無(wú)參構(gòu)造方法,根據(jù)業(yè)務(wù)需要提供相應(yīng)的有參構(gòu)造方法
4.實(shí)現(xiàn)類最好實(shí)現(xiàn)java.io.Serializable接口,支持序列化機(jī)制,可以將該對(duì)象轉(zhuǎn)換成字節(jié)序列而保存在磁盤上或在網(wǎng)絡(luò)上傳輸
5.如果實(shí)體類實(shí)現(xiàn)了java.io.Serializable接口,就應(yīng)該定義屬性serialVersionUID,解決不同版本之間的序列化問(wèn)題
5. 分層開發(fā)_抽取BaseDao_封裝update方法
(1) 代碼抽取有幾種方式? 應(yīng)該遵循什么原則?
答:應(yīng)該將代碼有共性的地方抽取出來(lái)進(jìn)行封裝,再方便重復(fù)調(diào)用,省去多余操作。
6. 分層開發(fā)_完成增刪改操作
(1) JDBC實(shí)現(xiàn)增刪改操作時(shí)有哪些注意事項(xiàng)?
答:JDBC執(zhí)行DML操作時(shí)要仔細(xì)檢查sql語(yǔ)句,確保正確,增加使用insert
刪除使用delete,更改使用update
(2) 簡(jiǎn)述JDBC中對(duì)事務(wù)的管理方式.
答:JDBC中默認(rèn)是自動(dòng)提交事務(wù),我們也可以使用setAutoCommit()方法將其調(diào)為手動(dòng)提交,這樣當(dāng)系統(tǒng)運(yùn)行時(shí)出現(xiàn)異常,還可以進(jìn)行rollBack()回滾操作。
7. 分層開發(fā)_使用BeanUtils封裝查詢方法
(1) 如何理解java的反射機(jī)制?
答:JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)實(shí)體類,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意方法和屬性;這種動(dòng)態(tài)獲取信息以及動(dòng)態(tài)調(diào)用對(duì)象方法的功能稱為java語(yǔ)言的反射機(jī)制。
(2) ResultSetMetaData有什么功能?
答:該接口下的方法主要用于處理結(jié)果集。
使用該接口下的getColumnCount()方法能得到結(jié)果集對(duì)象中的列數(shù)
使用getColumnName()方法可以得到指定列的名稱
總結(jié)
以上是生活随笔為你收集整理的jdbc 批量insert_JDBC相关知识解答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hdfs文件如何导出到服务器,[Hado
- 下一篇: 小程序使用css变量,小程序使用css变