日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Nutz1.b.38發(fā)布實(shí)現(xiàn)Dao更快速的插入

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

創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)公司、成都做手機(jī)網(wǎng)站、微商城、網(wǎng)站托管及成都企業(yè)網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊(cè)、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為崗?fù)?/a>行業(yè)客戶提供了網(wǎng)站建設(shè)服務(wù)。

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

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

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

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

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

  1. Nutz 的文檔
  2. Nutz 的小白測試

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

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

Nutz 小白測試計(jì)劃

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

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

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

Dao 兼容性問題

作為一篇發(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 方言來翻頁
  5. 重新設(shè)計(jì)的 Entity ,可以方便的擴(kuò)展,這樣有些偏愛 JPA 或者配置文件的同學(xué),可以擴(kuò)展自己的實(shí)體配置方式
  6. 重新設(shè)計(jì)的 LOG,可以讓 SQL 打印的更清晰
  7. 你甚至可以 dao.insert 或者 dao.update 一個(gè) Map
  8. 支持 dao.create/dao.drop 方式來建表和刪表
  9. org.nutz.dao.Dao 原有的接口函數(shù)統(tǒng)統(tǒng)保持不變,從而保證了兼容性不會(huì)有太大問題。

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

Cnd 類的兼容問題

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

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

Entity 接口的兼容問題

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

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

org.nutz.dao.tool 包的兼容問題

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

Java代碼

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

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

Java代碼

 
 
 
 
  1. dao.drop(Pet.class); 

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

EL 兼容性問題

EL 作為比較新的一個(gè)功能,可能用的人比較少,我們之后會(huì)再各個(gè)模塊里逐漸發(fā)掘 EL 的潛力。本次發(fā)布 EL 經(jīng)過了重構(gòu),效率提升了將近1倍。當(dāng)然,作為一個(gè)用反射實(shí)現(xiàn)的東東,它的還是很慢,但是我們?cè)O(shè)計(jì) EL 的時(shí)候假定它的使用場景是配置文件,后臺(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"); 

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

#p#

問題修復(fù)

Issue 34 dao: support JPA Annotation by zozoh

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

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

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

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

Issue 192 NutDao性能問題:關(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ù)插入效率問題 by fjayblue

Issue 332 sqlserver2005 nutz@google Junit測試 by haoyoushuai1986

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

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

Issue 426 Condition Cnd.where + orderBy by muyushi85

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

Issue 437 SqlLiteral中的@過濾 by zhuyingxi

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

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

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

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

Issue 471 Dao: 添加對(duì)Hsql數(shù)據(jù)庫的支持 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 問題 by fjayblue

Issue 482 將Nutz打成jar, 2 個(gè) Scans 的測試過不了 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 注釋沒寫全,和注釋重寫 by hongchongyuan

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

質(zhì)量

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

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

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

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


文章名稱:Nutz1.b.38發(fā)布實(shí)現(xiàn)Dao更快速的插入
標(biāo)題鏈接:
http://m.5511xx.com/article/coojscj.html