開源ORM工具,請高手指點
利用閒暇時間寫了一個ORM工具,例子程式碼如下。
主測試類
import com.prime.orm.annotations.Column; import com.prime.orm.annotations.GeneratedValue; import com.prime.orm.annotations.GenerationType; import com.prime.orm.annotations.Id; import com.prime.orm.annotations.Table; import com.prime.orm.annotations.Type; /** * * * 專案名稱:orm * 類名稱:User * 類描述:實體類 * 建立人:YinHao * 建立時間:2009-7-20 下午07:58:29 * * 修改人:Administrator * 修改時間:2009-7-20 下午07:58:29 * 修改備註: * @version * */ @Table("tb_user") // 對應資料庫表名稱 public class User { /** * @Id--->主鍵ID * @GneratedValue--->主鍵生成器 */ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) long id; /** * ip---->基本欄位 * * @Column 為 ORM 欄位配置資訊 name--->欄位名稱,insertable--->是否參與新增,unique--->欄位是否唯一 */ @Column(name = "ip", length = 21, nullable = true, insertable = true, unique = false) byte ip = 1; /** * name--->基本欄位,length--->欄位長度,nullable--->是否允許為空,updatable--->是否允參與更新 */ @Column(name = "name", length = 21, nullable = true, updatable = true, unique = false) String name = "尹浩"; /** * secret--->基本欄位 */ @Column(name = "secret", length = 22) String secret = "prime"; /** * * 建立一個新的例項 User. * * 預設建構函式必須宣告 */ public User() { } public User(String name) { this.name = name; } public User(String name, String secret) { this.name = name; this.secret = secret; } } <p class="indent"> |
主測試類
import java.util.List; import com.prime.orm.ORM; import com.prime.orm.Predicate; /** * * * 專案名稱:orm * 類名稱:MainTest * 類描述:測試類 * 建立人:cloud * 建立時間:2009-7-15 上午10:48:32 * * 修改人:Administrator * 修改時間:2009-7-15 上午10:48:32 * 修改備註: * @version * */ public class MainTest { /** * * main(這裡用一句話描述這個方法的作用) * TODO(這裡描述這個方法適用條件 – 可選) * TODO(這裡描述這個方法的執行流程 – * 可選) * TODO(這裡描述這個方法的使用方法 – 可選) * TODO(這裡描述這個方法的注意事項 – 可選) * @param name * @param @return * 設定檔案 * @return String DOM物件 * @Exception 異常物件 * @since * CodingExample Ver(編碼範例檢視) 1.1 */ public static void main(String[] args) { /** * 開啟日誌記錄功能 */ ORM.openLog(); ORM.setBriefMsg("操作員:cloud"); /** * 開啟事務 */ ORM.beginTransactioin(); /** * 1、資料表物理操作| 根據實體類生成資料表結構 |根據實體類刪除資料表記錄 */ ORM.dropTable(User.class); ORM.createTable(User.class); ORM.commit(); /** * 例項化實體類 */ User u1 = new User("cloud", "prime"); User u2 = null; /** * 對映實體到資料庫 */ ORM.beginTransactioin(); ORM.save(u1); ORM.commit(); /** * 透過新例項具有的查詢條件,從資料庫中載入物件到u2 */ ORM.beginTransactioin(); u2 = (User) ORM.search(new User("cloud")); System.out.println("載入新物件後的密碼為:" + u2.getSecret()); u2.setName("NewName"); u2.setId(new Long(0)); ORM.commit(); ORM.save(u2); /** * // * 提供分頁功能 // */ ORM.setTransactioin(true); List ls = ORM.load(User.class, 1, 2); System.out.println("例項總數為:" + ls.size()); /** * 提供批處理功能,此處為批次刪除根據查詢條件 */ List<User> l = ORM.search(new Predicate(User.class) { public boolean match(User u) { if ("cloud".equals(u.getName()) || "prime".equals(u.getSecret())) { System.out.println("刪除存在記錄為=" + u.getId() + u.getName() + u.getSecret()); ORM.remove(u); return true; } else { return false; } } }); } } <p class="indent"> |
相關文章
- 請高手指點
- 求教,請高手指點!
- 求解決方案!!請高手指點
- 請高手指點一下啊
- MySql 漢字問題? 請高手指點!MySql
- 新手求助,junit問題,請高手指點
- 請高手指點A connection to the database could not be madeDatabase
- 請bang及各位高手指點一下
- 求助:Apache的問題請高手指點(轉)Apache
- 一道JAVA 考試題 請高手指點Java
- 為什麼開網頁時有這種錯誤!請高手指點:)網頁
- 安裝JdonFrameworkTest例子時出錯,請高手指點Framework
- 為什麼有ejbCreate()方法錯誤!!請高手指點
- jbuilder9.0+jdk1.5的問題,請高手指點UIJDK
- 工作流問題,請高手指點一下!
- 高手指點
- 手寫開源ORM框架介紹ORM框架
- 看了《java實用系統開發指南》後,有個問題請高手指點?????Java
- 輕量級.NET ORM、高效能.NET ORM 之 SqlSugar 開源ORM - ASP.NETORMSqlSugarASP.NET
- Nktools(手機工具箱)註冊碼計算處,請高手指點~~~~ (15千字)
- 跪求高手指點
- .NET 開源SqlServer ORM框架 SqlSugar 3.0 APIServerORM框架SqlSugarAPI
- 關於單點登入的若干問題,請高手指教
- 配置tomcat叢集出現了問題,請高手指點Tomcat
- [開源] .Net ORM 訪問 Firebird 資料庫ORM資料庫
- OracleSugar ORM框架的誕生,程式碼開源OracleORM框架
- 迷惑的地方!請高手指導
- Yandex 開源 LLM 訓練工具節省高達 20% 的 GPU 資源GPU
- 關於實體Bean的啟用和鈍化,請高手指點!Bean
- MyFlash——美團點評的開源MySQL閃回工具MySql
- [開源] .Net ORM FreeSql 1.10.0 穩步向前ORMSQL
- 【開源框架】SqlSugarRepository 全庫ORM 正式釋出框架SqlSugarORM
- jboss問題,請各位高手指教!
- 新手安裝struts+jdon+hibernate時的錯誤,請高手指點
- 一個關於Struts Action的小框架, 請高手指點一下框架
- 讀取顯示CLOB的值,不能讀取啊,請高手指點11!
- 這個mysql資料庫是不是崩潰了啊?請高手指點。MySql資料庫
- 關於jive的幾個小問題,請高手指點,多謝先。