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>












    
  • 相关阅读:
    关于ThreadLocal的理解
    常用Linux软件安装
    Spring事务注解@Transactional失效的问题
    使用jackson转换xml格式数据进行响应
    创建简单web程序了解servlet
    JDBC
    StringBuild类
    Canlendar 日期类
    Java Date 时间类的使用
    QWeb
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10526837.html
Copyright © 2011-2022 走看看