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

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

13.MiniDao 介绍

13.1.  MiniDao简单介绍及特征

   MiniDao是Jeecg自己的持久化解决方式。具备了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. MiniDao与Spring集成

第一步:新建MiniDao的spring配置文件

文件名称: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配置具体解释

MiniDao对springJdbc的支持(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. MiniDao与Hibernate集成

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

<!-- Hibernate MiniDao -->

        
<bean id="genericBaseCommonDao"

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

<!--
hibernate
的sessionFactory -->    

                  
<property name="sessionFactory">

                           
<ref bean="sessionFactory" />

                  
</property>

        
</bean>



开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍的更多相关文章

  1. 开发指南专题八:JEECG微云高速开发平台数据字典

       开发指南专题八:JEECG微云高速开发平台数据字典的使用 1.标签中使用数据字典 数据字典为系统中可能用到的字典类型数据提供了使用的便利性和可维护性.下面拉框标签<t:dictSele ...

  2. 开发指南专题六:JEECG微云高速开发平台代码生成

    开发指南专题六:JEECG微云高速开发平台代码生 1.1. 代码生成扫描路径配置 用代码生成器生成代码后.须要进行相关配置配置,扫描注入control.service.entity等; 具体操作过程例 ...

  3. 开发指南专题五:JEECG微云高速开发平台代码生成器

    开发指南专题五:JEECG微云高速开发平台代码生成器 1.1. Maven开发环境搭建 在搭建jeecg的maven开发环境之前,须要先配置好本机的maven环境,并在eclipse中安装好m2ecl ...

  4. 开发指南专题二:JEECG微云高速开发平台JEECG框架初探

    开发指南专题二:JEECG微云高速开发平台JEECG框架初探 2.JEECG框架初探 2.1演示系统 打开浏览器输入JEECG演示环境界址:http://demo.jeecg.org:8090/能够看 ...

  5. 开发指南专题十一:JEECG微云高速开发平台--基础用户权限

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/26580037     开发指南专题 ...

  6. 专题开发十二:JEECG微云高速开发平台-基础用户权限

      专题开发十二:JEECG微云高速开发平台-基础用户权限 11.3.4自己定义button权限 Jeecg中.眼下button权限设置,是通过对平台自己封装的button标签(<t:dgFun ...

  7. 专题开发十三:JEECG微云高速开发平台-附录

    专题开发十三:JEECG微云高速开发平台-附录 12.1UI库经常使用控件參考演示样例 序号 控件 解决方式 參考演示样例 1 datagrid数据列表.字段採用数据字典显示文本 <t:dgCo ...

  8. 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建

    开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重

    为了确保信息请求消息的到达率,微信服务器在没有及时收到响应消息(ResponseMessage)的情况下,会多次发送同一条请求消息(RequestMessage),包括MsgId等在内的所有文本内容都 ...

随机推荐

  1. Git-分支创建、拉取、切换

    git新建本地分支命令 1.创建本地分支 git branch 分支名,例如:git branch 2.0.1.20120806 注:2.0.1.20120806是分支名称,可以随便定义. 2.创建远 ...

  2. Spring基础(7) : Bean的名字

    1.普通bean是用id标志,context.getBean时传入名称即可获得. <bean id="p" class="com.Person"/> ...

  3. Table转换成实体、Table转换成实体集合(可转换成对象和值类型)

    /// <summary> /// Table转换成实体 /// </summary> /// <typeparam name="T">< ...

  4. c#FTP应用---windows iis

    一.什么是FTP FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件. 二.搭建前期准备 1.首先打开控制面板找到“程序”点击打 ...

  5. 无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“System.Collections.Generic.List<Ecology.Model.EnergyFlowGraph>”

    无法将类型“System.Collections.Generic.List<anonymous type:string ClassID,string ClsssName>”隐式转换为“Sy ...

  6. Oracle总结之plsql编程(基础八)

    原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10328524.html 一.函数 1.函数是可以返回一个特定的数据,函数的创建中必须包含re ...

  7. 如何监听对 HIVE 元数据的操作

    目录 简介 HIVE 基本操作 获取 HIVE 源码 编译 HIVE 源码 启动 HIVE 停止 HIVE 监听对 HIVE 元数据的操作 参考文档 简介 公司有个元数据管理平台,会定期同步 HIVE ...

  8. APP中内嵌H5页面为什么不能下载?

    在APP中内嵌H5页面,若页面上存在下载链接,没有任何反应,为什么呢? 原因是app中内嵌的H5页面是WebView解析的,什么是WebView呢? 在Android手机中内置了一款高性能webkit ...

  9. drupal7 获取profile2模块自定义字段的值

    $user=user_load($uid); $student=profile2_load_by_user($user,'student'); 这个函数官方有文档,通过用户对象返回用户的profile ...

  10. 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)

    最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...