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

  开发指南专题十四: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>













实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值