zoukankan      html  css  js  c++  java
  • 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/zhangdaiscott/article/details/27068645

      开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍


    13.MiniDao 介绍


    13.1.  MiniDao简单介绍及特征

       MiniDaoJeecg自己的持久化解决方式。具备了Hibernate实体维护和Mybaits SQL分离的两大优势。具有以下特征:

    • 1.O/R mapping不用设置xml,零配置便于维护

    • 2.不须要了解JDBC的知识

    • 3.SQL语句和java代码的分离

    • 4.能够自己主动生成SQL语句

    • 5.接口和实现分离,不用写持久层代码。用户仅仅需写接口,以及某些接口方法相应的sql 它会通过AOP自己主动生成实现类

    • 6.支持自己主动事务处理和手动事务处理

    • 7.支持与hibernate轻量级无缝集成

    • 8.MiniDao整合了Hibernate+mybatis的两大优势,支持实体维护和SQL分离

    • 9.SQL支持脚本语言

      ※向下兼容Hibernate实体维护方式,实体的增删改查SQL自己主动生成

    13.2.  接口和SQL文件相应文件夹



    第一步:接口定义[EmployeeDao.java]


    @MiniDao


    public interface EmployeeDao {


     @Arguments("employee")


     public List<Map>getAllEmployees(Employee employee);


     @Arguments("empno")


     Employee getEmployee(String empno);


     @Arguments({"empno","name"})


     MapgetMap(String empno,String name);


     @Sql("SELECT count(*) FROMemployee")


     Integer getCount();


          @Arguments("employee")


     intupdate(Employee employee);


      @Arguments("employee")


     voidinsert(Employee employee);


    }


    第二步:SQL文件[EmployeeDao_getAllEmployees.sql]


    SELECT * FROM employee where 1=1


    <#if employee.age ?exists>


    and age = :employee.age


    </#if>


    <#if employee.name ?exists>


    and name = :employee.name


    </#if>


    <#if employee.empno ?exists>


    and empno = :employee.empno


    </#if>


      13.3.  MiniDao接口配置


    <!-- 注冊MiniDao接口 -->


    <bean class="org.jeecgframework.minidao.factory.MiniDaoBeanFactory">


    <propertyname="packagesToScan">


    <list>


    <value>examples.dao.*</value>


    </list>


    </property>


    </bean>

    13.4 測试代码


    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();


       List<Map> list = employeeDao.getAllEmployees(employee);


        for(Mapmp: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"));


        }


    }


    }


    13.5.  环境搭建


    环境:Spring3.X,Hibernate 3以上


    MiniDao依赖:org.jeecgframework.minidao-1.2.1.jar

          13.5.1. MiniDaoSpring集成


    第一步:新建MiniDaospring配置文件


    文件名称:spring-minidao.xml(能够自己定义),仅仅要让spring扫描到这个文件就可以。


    扫描方法一:

    web.xml中的spring监听器中扫描规则中包括spring-minidao.xml

    <context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>classpath:spring-*.xml</param-value>

    </context-param>

    扫描方法二:

    spring的配置文件里引入spring-minidao.xml

    <import resource="classpath*:spring-minidao.xml" />

     



    MiniDao配置具体解释


    MiniDaospringJdbc的支持(MiniDao的核心基础配置)


     

    <!-- MiniDao动态代理类 -->

             <bean id="miniDaoHandler" class="org.jeecgframework.minidao.aop.MiniDaoHandler">

    <!-- springjdbc,必须依赖 -->

                       <property name="jdbcTemplate" ref="jdbcTemplate"></property>

             </bean>

     

    <!-- 注冊MiniDao接口 -->

             <bean class="org.jeecgframework.minidao.factory.MiniDaoBeanFactory">

                       <property name="packagesToScan">

                                <list>

    <!-- 能够以包名注冊,自己主动扫描包以下的Dao接口 -->

                                         <value>jeecg.cgreport.dao.*</value>

                                         <value>jeecg.cgform.dao.*</value>

                                </list>

                       </property>

             </bean>

     

       


        13.5.2. MiniDaoHibernate集成

     前提是Hibernate已经由Spring容器管理,在MiniDao的配置文件里直接增加Hibernate支持就可以。


    <!-- Hibernate MiniDao -->

             <bean id="genericBaseCommonDao"

    <!-- hibernate实体通用操作的实现类 -->          class="org.jeecgframework.minidao.hibernate.dao.impl.GenericBaseCommonDao">

    <!-- hibernatesessionFactory -->    

                       <property name="sessionFactory">

                                <ref bean="sessionFactory" />

                       </property>

             </bean>












    
  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10526837.html
Copyright © 2011-2022 走看看