成人免费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);

還有更簡單的嗎

在以往的開發過程中,為了層次清晰,易于測試,通常會將業務邏輯層和數據庫訪問層分開。看下面的例子

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. 國產數據庫的艱難長征路

 

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

2011-05-19 09:53:33

數據庫對象

2009-12-31 09:18:23

ADO.NET對象模型

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動態游標

2011-05-13 13:38:49

數據庫對象

2021-09-03 15:41:00

鴻蒙HarmonyOS應用

2018-07-13 09:20:30

SQLite數據庫存儲

2010-04-29 11:53:42

Oracle數據庫

2011-07-27 08:56:32

Oracle數據庫綁定變量軟解析

2009-11-11 11:33:08

VB.NET線程訪問數

2017-06-09 14:30:31

Openstack N對象模型數據庫

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訪
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情自拍偷拍 | 欧美一区免费 | 精品综合久久 | 中文字幕日本一区二区 | 国产视频在线观看一区二区三区 | 亚洲国产欧美一区二区三区久久 | 欧美视频在线免费 | 夜夜艹| 二区中文字幕 | 国产精品乱码一区二区三区 | 亭亭五月激情 | 日韩精品免费一区 | av黄色国产 | 91色视频在线观看 | 免费午夜视频 | 久久久片 | 欧美一区二区三区在线观看 | 精品1区2区| 国产一区三区视频 | 国产一区二区三区网站 | 国产乱码久久久 | 免费的日批视频 | 久久亚洲一区二区三区四区 | 亚洲一区在线日韩在线深爱 | 操操操日日日 | 国产在线视频在线观看 | 欧美精品成人一区二区三区四区 | 青青草视频网 | 国产黄色大片网站 | 免费看大片bbbb欧美 | av黄色免费在线观看 | 激情欧美一区二区三区 | 日本在线你懂的 | 欧美精品二区 | 亚洲97 | 国产综合精品一区二区三区 | 亚洲综合视频 | 亚洲国产成人精品女人久久久 | 国产精品久久久久久久免费观看 | 日韩在线观看中文字幕 | 国产真实乱全部视频 |