国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種將對(duì)象轉(zhuǎn)化為sql語句的通用查詢系統(tǒng)及方法

      文檔序號(hào):6510159閱讀:654來源:國知局
      一種將對(duì)象轉(zhuǎn)化為sql語句的通用查詢系統(tǒng)及方法
      【專利摘要】本發(fā)明公開了一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法,其中,所述方法包括:首先,在面向?qū)ο笳Z言中生成基本對(duì)象;然后,設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng);根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。相比于現(xiàn)有技術(shù),具有以下特點(diǎn):a.統(tǒng)一處理、所有查詢條件均會(huì)經(jīng)過本系統(tǒng)進(jìn)行檢測(cè),不會(huì)遺漏某些屬性。查詢條件的變化,不影響裝置本身。b.低依賴性。不依賴特定的軟件框架,引入方便。c.使用方便。一行代碼即可調(diào)用,無須管理配置文件。
      【專利說明】—種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及面向?qū)ο蟛樵儭炯夹g(shù)領(lǐng)域】,尤其涉及一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法。
      【背景技術(shù)】
      [0002]在軟件系統(tǒng)中,經(jīng)常需要用戶輸入查詢條件,查詢出需要的結(jié)果。其本質(zhì)即是將用戶輸入的數(shù)據(jù)轉(zhuǎn)化為SQL語句,在數(shù)據(jù)庫中查詢出結(jié)果并返回。
      [0003]當(dāng)前使用較多的方法有:
      (I)每做一個(gè)查詢功能,都要重新根據(jù)查詢條件組裝SQL語句,費(fèi)時(shí)費(fèi)力、重復(fù)工作且易出錯(cuò)。例如組裝SQL時(shí)忘了組裝一個(gè)字段則導(dǎo)致整個(gè)結(jié)果不正確;一但新增了查詢條件,又要重新編寫組裝SQL的代碼,否則新增的查詢條件無法生效。
      [0004](2)在一些開源的數(shù)據(jù)庫框架上進(jìn)行修改,例如ibatis。其優(yōu)點(diǎn)在于可以做到靈活組裝SQL,但缺點(diǎn)在于限制了用戶必須使用該框架,否則無法使用其自動(dòng)組裝的特點(diǎn)。
      [0005]即便如此,ibatis也是使用一次需編寫一次配置文件,只是在一次配置中不需要再修改。例如配置好了產(chǎn)品相關(guān)的配置文件,則產(chǎn)品結(jié)構(gòu)的變動(dòng)不需要再重新修改;但新增一種新聞查詢時(shí),仍需要重新配置新聞查詢對(duì)應(yīng)的配置文件。
      [0006]有鑒于此,現(xiàn)有技術(shù)有待改進(jìn)和提聞。

      【發(fā)明內(nèi)容】

      [0007]鑒于現(xiàn)有技術(shù)中的不足,本發(fā)明目的在于提供一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法。旨在解決現(xiàn)有技術(shù)中查詢系統(tǒng)費(fèi)時(shí)費(fèi)力,重復(fù)工作且容易出錯(cuò)等問題。
      [0008]本發(fā)明的技術(shù)方案如下:
      一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其中,所述方法包括以下步驟:
      A、在面向?qū)ο笳Z言中生成基本對(duì)象;
      B、設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng);
      C、根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。
      [0009]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其中,所述步驟A中,所述基本對(duì)象為 javaBean ο
      [0010]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其中,所述步驟B中,所述基本對(duì)象的屬性newsld,屬性類別是整數(shù);則會(huì)形成查詢條件如下:
      news_id=屬性的值。
      [0011]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其中,所述步驟B中,所述基本對(duì)象的屬性newsTitle,屬性類別是字符串;則會(huì)形成查詢條件如下:
      news_title like ‘% 屬性的值%’。
      [0012]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其中,所述步驟C中組裝對(duì)應(yīng)的SQL語句是根據(jù)屬性是否有值來決定是會(huì)要組裝該字段,根據(jù)屬性類別判斷是要用相應(yīng)條件進(jìn)行連接,再加上取得屬性的值則組裝成完整的SQL語句。
      [0013]一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其中,包括:
      對(duì)象生成單元,用于在面向?qū)ο笳Z言中生成基本對(duì)象;
      對(duì)應(yīng)單元,用于設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng);
      組裝單元,用于根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。
      [0014]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其中,所述對(duì)象生成單元中,所述基本對(duì)象為javaBean。
      [0015]所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其中,所述對(duì)應(yīng)單元中,所述基本對(duì)象的屬性newsld,屬性類別是整數(shù);則會(huì)形成查詢條件如下:
      news_id=屬性的值。
      [0016]有益效果:
      本發(fā)明的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法,相比于現(xiàn)有技術(shù),具有如下優(yōu)點(diǎn):
      (1)只需要在查詢時(shí)一句代碼調(diào)用本裝置,自動(dòng)生成對(duì)應(yīng)的SQL語句,不需要查詢一次組裝一次SQL
      (2)可直接使用,不需要安裝指定的軟件框架,不影響原有的系統(tǒng)結(jié)構(gòu),不需要相應(yīng)的配置文件。
      [0017](3)只返回組裝后的SQL語句,使用者可根據(jù)實(shí)際需要再進(jìn)行二次組裝,可靈活的進(jìn)行修改,不會(huì)完全的限制輸出結(jié)果。
      [0018]另外,所述將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)還具有以下特點(diǎn):a.統(tǒng)一處理、所有查詢條件均會(huì)經(jīng)過本系統(tǒng)進(jìn)行檢測(cè),不會(huì)遺漏某些屬性。查詢條件的變化,不影響裝置本身。b.低依賴性。不依賴特定的軟件框架,引入方便。C.使用方便。一行代碼即可調(diào)用,無須管理配置文件。
      【專利附圖】

      【附圖說明】
      [0019]圖1為本發(fā)明的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法的流程圖。
      [0020]圖2為本發(fā)明的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法中實(shí)施例的示意圖。
      [0021]圖3為本發(fā)明的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)的結(jié)構(gòu)框圖。
      [0022]圖4為本發(fā)明的將生成查詢條件,令查詢條件與對(duì)象中的屬性一一對(duì)應(yīng)的框圖。
      [0023]圖5為本發(fā)明的對(duì)查詢對(duì)象進(jìn)行全面解析的框圖。
      【具體實(shí)施方式】
      [0024]本發(fā)明提供一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng)及方法,為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
      [0025]請(qǐng)參閱圖1,其為本發(fā)明的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法的流程圖。如圖所示,所述方法包括以下步驟:51、在面向?qū)ο笳Z言中生成基本對(duì)象;
      52、設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng);
      53、根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。
      [0026]下面分別針對(duì)上述步驟進(jìn)行詳細(xì)描述:
      所述步驟SI為在面向?qū)ο笳Z言中生成基本對(duì)象。具體來說,即生成基本對(duì)象(例如javaBean),面向?qū)ο笳Z言中均會(huì)先生成基本對(duì)象。
      [0027]所述步驟S2為設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng)。例如,如圖2所示,當(dāng)存在查詢條件1、查詢條件2和查詢條件3時(shí),對(duì)象Bean中包括與查詢條件1、查詢條件2和查詢條件3分別對(duì)應(yīng)的屬性1、屬性2和屬性3。例如對(duì)象屬性名是newsld,屬性類別是整數(shù),說明要在數(shù)據(jù)庫表中查一個(gè)整數(shù)類型的字段,則會(huì)形成查詢條件"news_id=屬性的值”;如果屬性名是newsTitle,屬性類別是字符串,說明是要查詢文本,則會(huì)形成查詢條件“ news_title like ‘%屬性的值依此類推。
      [0028]所述步驟S3為根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。在本實(shí)施例中,組裝對(duì)應(yīng)的SQL語句是根據(jù)屬性是否有值來決定是會(huì)要組裝該字段,根據(jù)屬性類別判斷是要用相應(yīng)條件進(jìn)行連接,再加上取得屬性的值則組裝成完整的SQL語句。
      [0029]下面通過一個(gè)具體的例子來說明將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法是如何實(shí)現(xiàn)的。
      實(shí)施例
      [0030]在本實(shí)施例中需要進(jìn)行新聞搜索
      首先,生成基本的新聞對(duì)象,其代碼如下所示:
      【權(quán)利要求】
      1.一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其特征在于,所述方法包括以下步驟: A、在面向?qū)ο笳Z言中生成基本對(duì)象; B、設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng); C、根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。
      2.根據(jù)權(quán)利要求1所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其特征在于,所述步驟A中,所述基本對(duì)象為javaBean。
      3.根據(jù)權(quán)利要求1所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其特征在于,所述步驟B中,所述基本對(duì)象的屬性newsld,屬性類別是整數(shù);則會(huì)形成查詢條件如下: news_id=屬性的值。
      4.根據(jù)權(quán)利要求1所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其特征在于,所述步驟B中,所述基本對(duì)象的屬性newsTitle,屬性類別是字符串;則會(huì)形成查詢條件如下: news_title like ‘% 屬性的值%’。
      5.根據(jù)權(quán)利要求1所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢方法,其特征在于,所述步驟C中組裝對(duì)應(yīng)的SQL語句是根據(jù)屬性是否有值來決定是會(huì)要組裝該字段,根據(jù)屬性類別判斷是要用相應(yīng)條件進(jìn)行連接,再加上取得屬性的值則組裝成完整的SQL語句。
      6.一種將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其特征在于,包括: 對(duì)象生成單元,用于在面向?qū)ο笳Z言中生成基本對(duì)象; 對(duì)應(yīng)單元,用于設(shè)置查詢條件,令所述查詢條件與每一基本對(duì)象的屬性相對(duì)應(yīng); 組裝單元,用于根據(jù)用戶指令進(jìn)行查詢時(shí),對(duì)查詢對(duì)象進(jìn)行全面解析,確定查詢對(duì)象的屬性,再組裝出對(duì)應(yīng)的SQL語句。
      7.根據(jù)權(quán)利要求6所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其特征在于,所述對(duì)象生成單元中,所述基本對(duì)象為javaBean。
      8.根據(jù)權(quán)利要求6所述的將對(duì)象轉(zhuǎn)化為SQL語句的通用查詢系統(tǒng),其特征在于,所述對(duì)應(yīng)單元中,所述基本對(duì)象的屬性newsld,屬性類別是整數(shù);則會(huì)形成查詢條件如下: news_id=屬性的值。
      【文檔編號(hào)】G06F17/30GK103544211SQ201310396649
      【公開日】2014年1月29日 申請(qǐng)日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
      【發(fā)明者】陳熾昌, 陳曦, 鐘瓊閣, 林葉明, 陳倩 申請(qǐng)人:廣東全通教育股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1