<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          MiniDao持久化解決方案

          聯(lián)合創(chuàng)作 · 2023-09-30 02:46

          MiniDao是Jeecg自己的持久化解決方案,具備了Hibernate實(shí)體維護(hù)和Mybaits SQL分離的兩大優(yōu)勢。 具有以下特征:

          • 1.O/R mapping不用設(shè)置xml,零配置便于維護(hù)
          • 2.不需要了解JDBC的知識
          • 3.SQL語句和java代碼的分離
          • 4.可以自動生成SQL語句
          • 5.接口和實(shí)現(xiàn)分離,不用寫持久層代碼,用戶只需寫接口,以及某些接口方法對應(yīng)的sql 它會通過AOP自動生成實(shí)現(xiàn)類
          • 6.支持自動事務(wù)處理和手動事務(wù)處理
          • 7.支持與hibernate輕量級無縫集成
          • 8.MiniDao整合了Hibernate+mybatis的兩大優(yōu)勢,支持實(shí)體維護(hù)和SQL分離
          • 9.SQL支持腳本語言

          ※向下兼容Hibernate實(shí)體維護(hù)方式,實(shí)體的增刪改查SQL自動生成

           

          接口和SQL文件對應(yīng)目錄

          接口定義[EmployeeDao.java]

          @MiniDao
          public interface EmployeeDao {
           @Arguments("employee")
           public ListgetAllEmployees(Employee employee);
          
           @Arguments("empno")
           Employee getEmployee(String empno);
          
           @Arguments({"empno","name"})
           Map getMap(String empno,String name);
          
           @Sql("SELECT count(*) FROM employee")
           Integer getCount();
          
           @Arguments("employee")
           int update(Employee employee);
          
           @Arguments("employee")
           void insert(Employee employee);

          }

          SQL文件[EmployeeDao_getAllEmployees.sql]

          SELECT * FROM employee where 1=1 
          <#if employee.age ?exists>
          and age = :employee.age
          
           
          <#if employee.name ?exists>
          and name = :employee.name
          
           
          <#if employee.empno ?exists>
          and empno = :employee.empno
          
           

          MiniDao接口配置

          <!-- 注冊MiniDao接口 -->
          <bean class="org.jeecgframework.minidao.factory.MiniDaoBeanFactory">
              <property name="packagesToScan">
                  <list>
                      <value>examples.dao.*</value>
                  </list>
              </property>
          </bean>

          測試代碼

          public class Client {
          public static void main(String args[]) {
              BeanFactory factory = new ClassPathXmlApplicationContext(
                      "applicationContext.xml");
          
              EmployeeDao employeeDao = (EmployeeDao) factory.getBean("employeeDao");
              Employee employee = new Employee();
              Listlist =  employeeDao.getAllEmployees(employee);
              for(Map mp:list){
                  System.out.println(mp.get("id"));
                  System.out.println(mp.get("name"));
                  System.out.println(mp.get("empno"));
                  System.out.println(mp.get("age"));
                  System.out.println(mp.get("birthday"));
                  System.out.println(mp.get("salary"));
              }
          }
          }
          瀏覽 20
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.啊啊啊 | 欧美操逼虐待视频网 | 俺也来最新色视频 | 欧美精品导航 | 久久视频网址 |