成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用動態數據庫訪問對象

運維 數據庫運維
數據庫的發展是永不止步,從最初的簡單的數據庫操作系統發展到現在的強大的數據庫,人們共同見證著數據庫的進步,現今使用動態數據庫訪問對象也得到了實現,下面將為大家重點介紹有關使用動態數據庫訪問對象的知識。

導讀:使用動態數據庫訪問對象很大程度簡化了我們的操作,為了使我的介紹更形象化,也易于大家理解,下文中我將通過一些實例簡單的介紹下這種方法。

前兩天看到Warp framework的介紹,它基于Google Guice,是一個輕量級的web開發框架。它的Dynamic finder特性實在讓人興奮,代碼非常簡單,支持注入,大大簡化了DAO層的開發。下面看看它的幾個例子吧:

@Finder(query="from Person")
public List<Person> listAll() { return null; }

@Finder(query="from Person where firstName = :firstName")
Person find(@Named("firstName") String name);

還有更簡單的嗎

在以往的開發過程中,為了層次清晰,易于測試,通常會將業務邏輯層和數據庫訪問層分開??聪旅娴睦?/p>

public class UserService
{
public UserService(IUserDAO userDAO){}
}
為什么要這樣做呢?

好處是:

1. userDAO能夠依賴注入,使用IOC框架管理

2. 對UserService進行單元測試,userDAO使用mock工具創建,這樣避免了要單元測試還得生成真實數據的問題。

但是這樣就產生了一個問題,大部分數據表都會有這么一個DAO對象存在,使得DAO層過于龐大。當然如果使用泛型的DAO或者抽象出基類就能使代碼量減少,這樣也不能解決根本問題。Warp提出的Dynamic finder,讓人著實興奮。自己根本就不需要逐個DAO去實現,只需要方法聲明+annotation。

這么好的想法怎么能不采用呢。 于是我花了幾個小時試著用C#來實現,并且結合了Linq To Sql。如果直接使用SqlCommand來操作數據庫填充實體,實現起來會更加簡單,現在用Linq To Sql的人越來越多,就結合著來寫的。結果還不錯,代碼看著的確簡潔了很多,就是接口+Attribute。我使用的數據庫是Northwind。Customer是Linq To Sql生成出來的,EntityType是用來標識對那個實體類進行操作,Find用來標識根據主鍵查找對象的方法,Delete表示是刪除一個實體,Create表示創建一個實體。Query表示自定義的查詢字符串,現在只是最簡單實現,以后可以提供更復雜的查詢條件和寫法。

[DomainType(typeof(Customer))]
public interface ICustomDAO

從上文可以總結出使用動態數據庫訪問對象好處還是很多的,希望大家通過本次的學習,能夠掌握這種技巧,這樣就能為對大家以后的工作帶來種種益處,大家何樂而不為呢?

【編輯推薦】

  1. 混合數據庫時代何日降臨
  2. 確保數據庫安全的三大法寶
  3. 數據庫營銷是否變身超級營銷工具
  4. 國產數據庫的艱難長征路

 

責任編輯:迎迎 來源: 希賽網
相關推薦

2009-12-31 09:18:23

ADO.NET對象模型

2011-05-19 09:53:33

數據庫對象

2013-11-26 09:47:47

ORM

2009-09-15 10:02:44

Linq to SQL

2010-05-20 14:52:42

MySQL數據庫

2011-03-03 11:07:57

Spring數據庫訪問ORM

2009-07-02 09:35:02

hibernate訪問

2010-09-01 15:15:20

DB2動態游標

2018-07-13 09:20:30

SQLite數據庫存儲

2010-04-29 11:53:42

Oracle數據庫

2021-09-03 15:41:00

鴻蒙HarmonyOS應用

2011-05-13 13:38:49

數據庫對象

2011-07-27 08:56:32

Oracle數據庫綁定變量軟解析

2009-11-11 11:33:08

VB.NET線程訪問數

2011-03-03 16:31:33

2011-03-07 17:35:09

JavaACCESS數據庫

2011-04-13 14:07:17

OracleSybase數據庫

2011-05-19 11:33:38

數據庫訪問速度

2010-01-04 17:54:41

Silverligh訪

2009-09-28 13:33:48

Hibernate訪問
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级欧美三级在线观看 | 在线一级片 | 国产一级一级毛片 | 久久久精品高清 | 国产精品久久久久久久久久久免费看 | 电影91久久久| 蜜臀久久99精品久久久久野外 | av天天看| 欧美国产精品 | 午夜资源| 国产不卡一区 | 99re6热在线精品视频播放 | 日韩一区二区三区在线 | 久久久久国产精品一区 | 最新国产精品视频 | 精品国产乱码 | 欧美日韩最新 | 91精品国产综合久久婷婷香蕉 | 亚洲免费一区二区 | 免费同性女女aaa免费网站 | 人人看人人射 | 精品国产乱码久久久久久a丨 | 精品久久久久久久久久久久 | 精品视频一区二区三区 | 人人澡人人射 | 久久精品免费 | 一级a性色生活片久久毛片 一级特黄a大片 | 久草免费在线视频 | 亚洲视频一区二区三区 | 天天干狠狠干 | 国产精品一区二区三区在线 | 黄色三级毛片 | 99精品视频免费观看 | 欧美成人在线影院 | 亚洲va欧美va天堂v国产综合 | 在线一区二区国产 | av高清 | 免费观看日韩av | 午夜电影合集 | 精品国产乱码久久久久久蜜退臀 | 国产毛片久久久久久久久春天 |