自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Nutz1.b.38發(fā)布實(shí)現(xiàn)Dao更快速的插入

數(shù)據(jù)庫(kù)
自 Nutz 1.b.37 發(fā)布以來(lái),時(shí)隔近3個(gè)月。為什么間隔這么時(shí)間呢?因?yàn)槲覀冏隽撕芏嘀卮蟮恼{(diào)整。

自 Nutz 1.b.37 發(fā)布以來(lái),時(shí)隔近3個(gè)月。為什么間隔這么時(shí)間呢?因?yàn)槲覀冏隽撕芏嘀卮蟮恼{(diào)整:

  1. 重構(gòu)了 Dao -- 兌現(xiàn)了我們之前的承諾
  2. 重構(gòu)了 EL
  3. Nutz 的源碼管理遷移到了 Github 上

以后,希望大家報(bào) Issue 到 Nutz Github 的問(wèn)題列表 中。Google Code 的問(wèn)題列表還有66個(gè) Issue 沒(méi)有處理,我們會(huì)在后續(xù)的版本中盡快修復(fù)。如果都修復(fù)了,我們就會(huì)關(guān)閉 Google Code 的問(wèn)題列表,只維護(hù) Github 的問(wèn)題列表。

另外,如果你在 Github 上有帳號(hào),歡迎隨時(shí) fork Nutz,請(qǐng)記住我們的口號(hào)就是: 喜歡 Nutz,就 Fork 它

當(dāng)然,Nutz 的下載地址仍然一直會(huì)是 Google Code 下載列表,并且 Nutz 在 Google Code 的項(xiàng)目主頁(yè) 也會(huì)一直維護(hù)。

同時(shí),我想提醒大家注意一下 Nutz 的官網(wǎng),我們會(huì)不斷的充實(shí)它的內(nèi)容,比如最近做的

  1. Nutz 的文檔
  2. Nutz 的小白測(cè)試

說(shuō)到小白測(cè)試,不得不提一下 Dao 重構(gòu)。我們這次重構(gòu) Dao 后總是不放心,其實(shí)我們?cè)诮衲?5 月初就重構(gòu)完了,然后我們測(cè)試呀,測(cè)試,畢竟是重構(gòu) Dao 了嘛,但是我們還是不放心,于是又測(cè)試呀測(cè)試... 但是我們還是不放心...

于是 Juqkai 同學(xué)在我和 Wendal 的攛掇下痛下決心,寫了這個(gè)應(yīng)用:

Nutz 小白測(cè)試計(jì)劃

我們希望這個(gè)計(jì)劃,能讓更多人方便的參與測(cè)試,提交測(cè)試結(jié)果,這樣我們就能為更多的人提供更穩(wěn)定的 Jar 包。同時(shí),我們也能更準(zhǔn)確的統(tǒng)計(jì)貢獻(xiàn)者名單。

當(dāng)然如果沒(méi)有人參與這個(gè)測(cè)試計(jì)劃,最差的結(jié)果就是維持現(xiàn)狀。令人欣慰的是,還是有4位同學(xué)(包括我)參加了1.b.38測(cè)試的小白測(cè)試

那么,讓我們看看,以后的版本參加的人是會(huì)越來(lái)越多,還是越來(lái)越少 ^_^!

Dao 兼容性問(wèn)題

作為一篇發(fā)行注記,這次我們要上點(diǎn)干貨了

1.b.38 的 Dao 與之前的 Dao 使用上的主要區(qū)別

  1. 更快的批量操作 -- 比如大數(shù)據(jù)量的插入
  2. 提供了 Criteria 接口,擴(kuò)展了 Condition 接口,這樣查詢的時(shí)候,可以用 PreparedStatement 參數(shù)
  3. 同時(shí) Criteria 接口也非常方便你組織更復(fù)雜的 SQL 條件
  4. 自定義 SQL 可以設(shè)置 fetchSize,但是依然不能支持 pager,你還得自己用 SQL 方言來(lái)翻頁(yè)
  5. 重新設(shè)計(jì)的 Entity ,可以方便的擴(kuò)展,這樣有些偏愛(ài) JPA 或者配置文件的同學(xué),可以擴(kuò)展自己的實(shí)體配置方式
  6. 重新設(shè)計(jì)的 LOG,可以讓 SQL 打印的更清晰
  7. 你甚至可以 dao.insert 或者 dao.update 一個(gè) Map
  8. 支持 dao.create/dao.drop 方式來(lái)建表和刪表
  9. org.nutz.dao.Dao 原有的接口函數(shù)統(tǒng)統(tǒng)保持不變,從而保證了兼容性不會(huì)有太大問(wèn)題。

為了上述的優(yōu)點(diǎn),我們放棄了一點(diǎn)點(diǎn)兼容性,你的項(xiàng)目如果用 Nutz.1.b.38 可能需要少量修改幾行代碼。

Cnd 類的兼容問(wèn)題

當(dāng)然,如果你直接實(shí)現(xiàn) Condition 接口也不會(huì)有問(wèn)題。

  1. Cnd.exp 的返回值類型變成了 SqlExpression
  2. Cnd.exps 的返回值類型變成了 SqlExpressionGroup

Entity 接口的兼容問(wèn)題

極個(gè)別很有 Hacking 精神的同學(xué)使用 Nutz 的時(shí)候,使用了 Entity 類,但是不幸的是現(xiàn)在 Entity 已經(jīng)變成一個(gè)接口并且某些方法已經(jīng)變了名字,但是原來(lái) Entity 類所有的功能,現(xiàn)在 Entity 接口都能提供。如果你發(fā)現(xiàn)某些方法找不到了,耐心看看新的 Entity 接口的定義,我想你很快就能找到你要找的方法。

最重要的一個(gè)改變,就是原來(lái)的 entity.fields() 方法,變成了 entity.getMappingFields()。這個(gè)是有同學(xué)向我抱怨過(guò),因此覺(jué)得有必要在這里特別提一下。

org.nutz.dao.tool 包的兼容問(wèn)題

某些很有探索精神的同學(xué)可能偶然發(fā)現(xiàn)了 Nutz 還隱藏了一個(gè) Dao 工具類的包,里面的方法可以跨數(shù)據(jù)庫(kù)的建表,所以很有可能在自己的項(xiàng)目里也這么應(yīng)用了。但是不幸的是,1.b.38 之后,這個(gè)包沒(méi)了。因?yàn)槲覀儾辉傩枰?。你的建表可以?

Java代碼

 

  1. dao.create(Pet.classtrue);   // true 表示如果存在,先 DROP 掉再建, false 表示如果存在就不建了  

來(lái)完成。當(dāng)然,刪表,可以用:

Java代碼

  1. dao.drop(Pet.class); 

除此之外,Nutz.Dao 不會(huì)有和之前不兼容的地方了。當(dāng)然如果你發(fā)現(xiàn)了,請(qǐng)隨時(shí)告訴我們,應(yīng)該都不是大問(wèn)題。

EL 兼容性問(wèn)題

EL 作為比較新的一個(gè)功能,可能用的人比較少,我們之后會(huì)再各個(gè)模塊里逐漸發(fā)掘 EL 的潛力。本次發(fā)布 EL 經(jīng)過(guò)了重構(gòu),效率提升了將近1倍。當(dāng)然,作為一個(gè)用反射實(shí)現(xiàn)的東東,它的還是很慢,但是我們?cè)O(shè)計(jì) EL 的時(shí)候假定它的使用場(chǎng)景是配置文件,后臺(tái)進(jìn)程等一些不是非常需要效率的地方。它可以讓你的程序更有彈性。如果非常需要效率的地方,恐怕它不是一個(gè)很好的選擇。

重構(gòu)后的 EL,eval 的結(jié)果不再是 ElValue,而是普通的 Object,這樣,你使用的時(shí)候會(huì)更方便一些。

并且EL的預(yù)編譯,不再是

Java代碼

  1. BinObj exp = El.compile("3+4"); 

而是

Java代碼

  1. El exp = new El("3+4"); 

看起來(lái)更清爽一些不是嗎? Juqkai 同學(xué)的設(shè)計(jì) ^_^

#p#

問(wèn)題修復(fù)

Issue 34 dao: support JPA Annotation by zozoh

Issue 85 NutDao 中需要提供批量更新操作的方法. by ming300

Issue 121 Nutz是否有根據(jù)實(shí)體上的注解來(lái)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表等對(duì)象的計(jì)劃? by hzzdong

Issue 137 數(shù)據(jù)庫(kù)操作是否可以增加對(duì)Blob類型的支持 by Toni.xutao

Issue 155 Dao 的 @Column注解可否標(biāo)注在getter函數(shù)上 by jinghui70

Issue 192 NutDao性能問(wèn)題:關(guān)于批量操作,使用PreparedStatement的Batch功能 by hzzdong

Issue 230 關(guān)于nutz dao能否動(dòng)態(tài)根據(jù)tables.dod 更新表結(jié)構(gòu) by shao0707

Issue 267 NutzDao能否提供設(shè)置fetchSize的方法 by superxlm1985

Issue 294 Nutz Dao 大量數(shù)據(jù)插入效率問(wèn)題 by fjayblue

Issue 332 sqlserver2005 nutz@google Junit測(cè)試 by haoyoushuai1986

Issue 416 建議nutz提供一個(gè)拼接復(fù)雜的查詢條件的方法 by liuxiaogang1987

Issue 420 Sqls.create語(yǔ)句中包含'@'會(huì)出錯(cuò)。 by wangyingdong

Issue 426 Condition Cnd.where + orderBy by muyushi85

Issue 433 MVC的代碼覆蓋率實(shí)在太低,很多都沒(méi)測(cè)試用例! by wendal

Issue 437 SqlLiteral中的@過(guò)濾 by zhuyingxi

Issue 457 Json:增加字段映射方式 by wendal

Issue 458 ActionChainMakerConfiguration類名拼寫錯(cuò)誤 by jentrees2008

Issue 466 使用MySQL數(shù)據(jù)庫(kù),使用Nutz.dao的自定義SQL報(bào)錯(cuò) by mamacmm

Issue 469 Json.toJson 對(duì)char類型沒(méi)有加引號(hào) by lwk0571

Issue 471 Dao: 添加對(duì)Hsql數(shù)據(jù)庫(kù)的支持 by wendal

Issue 473 使nutz兼容OSGi by windywany

Issue 478 1.b.38 的新 Dao 應(yīng)該忽略 Column 不存在的情況 -- by Jay by zozoh

Issue 479 38 update 問(wèn)題 by fjayblue

Issue 482 將Nutz打成jar, 2 個(gè) Scans 的測(cè)試過(guò)不了 by zozoh

Issue 485 EL表達(dá)式引擎在某些情況下會(huì)出現(xiàn)錯(cuò)誤 by ywjno.dev

Issue 487 ioc中某個(gè)屬性的值是Map時(shí),如果是null偶爾報(bào):String can not cast to java.util.Map by superhanliu

Issue 489 AnnotationIocLoader類對(duì)set方法處理@Inject 有bug by feiyan

Issue 490 38的Dao,在DB2下,使用@Column('abc')的話,insert會(huì)報(bào)錯(cuò) by wendal

Issue 493 Lang的str2number方法在某些情況下會(huì)出錯(cuò) by ywjno.dev

Issue 494 自定義SQL wiki by superhanliu

Issue 497 Nztz.Dao 注釋沒(méi)寫全,和注釋重寫 by hongchongyuan

Issue 500 nutz.Json 應(yīng)擴(kuò)展一下@JsonField注解 by conanca

質(zhì)量

共通過(guò)了 697 個(gè)單元測(cè)試用例,代碼覆蓋率達(dá)到

Nutz.Dao 經(jīng)測(cè)試在如下數(shù)據(jù)庫(kù)上可以工作正常

  1. H2
  2. SQLite
  3. MySql
  4. Oracle
  5. Postgresql
  6. SqlServer2005
  7. SqlServer2000
  8. DB2

回答新手的問(wèn)題,我們現(xiàn)在只能根據(jù)印象草草統(tǒng)計(jì),貢獻(xiàn)列表非常不完善。我們正在想辦法,爭(zhēng)取在不遠(yuǎn)的將來(lái),能記錄下來(lái)大家每一點(diǎn)一滴的付出 ^_^!

【編輯推薦】

  1. 大數(shù)據(jù)時(shí)代已來(lái)臨,你準(zhǔn)備好了嗎?
  2. HBase數(shù)據(jù)庫(kù)性能調(diào)優(yōu)
  3. 自己動(dòng)手豐衣足食,DIY SQL字符串分解函數(shù)Split
  4. 秘籍:如何做中小企業(yè)BI項(xiàng)目規(guī)劃
  5. 說(shuō)說(shuō)SQL Server編年史
責(zé)任編輯:艾婧 來(lái)源: ITEYE
相關(guān)推薦

2012-02-15 10:07:02

JavaNutz

2020-11-01 16:14:27

PythonPyston v2.0

2011-06-21 15:07:46

2010-01-28 09:18:03

Scala 2.8

2011-08-24 09:03:55

PostgreSQL

2010-12-08 09:55:57

VirtualBox

2015-12-01 15:30:34

Visual Stud發(fā)布

2012-04-05 15:47:51

JavaRichFaces

2011-05-05 09:17:41

Firefox 5.0

2009-06-02 09:05:11

netbeans 6.netbeans下載netbeans發(fā)布

2012-04-16 15:18:15

JythonJVM

2012-03-19 10:04:06

JActorJava

2009-05-20 16:28:47

LinuxMusix2.0 Beta 1

2011-12-16 09:49:38

Java

2012-01-13 11:02:27

JavaWebOpenXava

2009-06-21 13:37:53

2009-02-25 09:35:12

LinuxBASH 4.0OS X v10.4

2009-09-27 13:41:55

Eclipse 3.5

2011-11-02 17:08:48

OpenBSD發(fā)布

2012-03-15 16:46:02

JavaMyBatis
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)