Java DAO 框架:robotarm-dao
一、描述:
它是一個新穎的、輕量級的、獨立的、易于使用的Java DAO Framework
二、目的:
- 定義簡單
- 寫DAO層不必像Hibernate或ibatis那樣為每個數據實體都創建一個新的配置文件。:)
- 只需定義一個接口,集中了對數據庫的操作、程序的調用、數據源的使用等。:)
- 使用簡單
- 使用時只需為數據實體創建一個接口,不需對其實現 :)
- 使用主或從主庫,指定數據源都在此接口中。 :)
- 不用拼寫復雜的sql
- 不用程序拼寫sql將參數加入進來,框架對參數自動填充處理。:)
- 除支持標準sql外,另外增加了動態操作語法:if/else、for 循環等。:)
- 主從分離
- 根據查找或更新操作自動的判斷使用主或從庫。 :)
- 執行sql時動態的切換主從數據庫,不必為分庫煩惱。 :)
- 也可在執行強制的使用主或從(暫未實現)。 :(
@DAO(catalog = "c1") public interface MailDAO { // 查詢 @SQL(value = "select * from mail") public List<Mail> queryAll() throws Throwable; @SQL(value = "select * from mail where id=:1") public List<Mail> queryById(long id) throws Throwable; @SQL(value = "select * from mail where id in (:1)") public List<Mail> queryInIds(List<Long> ids) throws Throwable; @SQL(value = "select * from mail where mail_user = :1.mailUser and mail_smtp=:1.mailSmtp") public List<Mail> queryByUser(Mail mail) throws Throwable; // 更新 @SQL(value = "update mail set mail_user=:1, mail_password=:2") public UpdateResult upAll(String mailUser, String mailPassword) throws Throwable; @SQL(value = "update mail set mail_user='sunnymoon', mail_password='passwordhe' where id=:1") public UpdateResult upById(long id) throws Throwable; @SQL(value = "update mail set mail_password='passwordhe' where mail_name=:1") public UpdateResult upByName(String name) throws Throwable; // 插入 @SQL(value = "insert into mail (mail_user,mail_password,mail_smtp,mail_ssl) values ('ad','ff','dd','1')") public UpdateResult addMail() throws Throwable; @SQL(value = "insert into mail (mail_user,mail_password,mail_smtp) values (:1.mailUser, :1.mailPassword, :1.mailSmtp)") public UpdateResult addMail(Mail mail) throws Throwable; @SQL(value = "insert into mail (mail_user,mail_password,mail_smtp) values #for(mail in :1) { #if(:current){,} (:mail.mailUser, :mail.mailPassword, :mail.mailSmtp)}") public UpdateResult addMails(Collection<Mail> mails) throws Throwable; // 刪除 @SQL(value = "delete from mail where id=:1") public UpdateResult delById(long id) throws Throwable; @SQL(value = "delete from mail where id in (:1)") public UpdateResult delInIds(List<Long> ids) throws Throwable; }
本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!