开发指南专题十四: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微云快速开发平台--表单校验组件ValidForm

    开发指南专题十:JEECG微云快速开发平台--表单校验组件ValidForm 10.4Validform对象[方法支持链式调用] 如示例 var demo=$(".formsub" ...

  2. 开发指南专题十五 JEECG微云快速开发平台EXCEL导入导出

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴!  开 ...

  3. 开发指南专题九:JEECG微云快速开发平台-表单校验组件ValidForm

    开发指南专题九:JEECG微云快速开发平台表单校验组件ValidForm 10.表单校验组件ValidForm 10.1使用入门 1.引入css 请查看下载文件中的style.css,把里面Valid ...

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

     开发指南专题十一:JEECG微云快速开发平台--基础用户权限    11.1. 权限设计 基本概念 权限管理模块涉及到的实体有:用户.角色和系统资源(包括系统菜单.页面按钮等).用户可以拥有多个 ...

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

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

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

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

  7. 开发指南专题三:JEECG微云快速开发平台项目编码规范

    开发指南专题三:JEECG微云快速开发平台项目编码规范 4. 项目编码规范 4.1. 项目编码规范 1. 项目编码格式为UTF-8(包括:java,jsp,css,js) 2. sevice接口命名: ...

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

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

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

    开发指南专题六:JEECG微云快速开发平台代码生 1.1. 代码生成扫描路径配置 用代码生成器生成代码后,需要进行相关配置配置,扫描注入control.service.entity等; 详细操作步骤如 ...

  10. 开发指南专题四 JEECG微云快速开发平台--JEECG开发环境搭建

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 开发指南 ...

最新文章

  1. 2月书讯 | 冬奥结束看什么?看看“天花板”级别新作!
  2. NeHe教程Qt实现——lesson15
  3. leetcode算法题--Jump Game
  4. SQL数据库操作完全手册
  5. Guava之RateLimiter的设计
  6. python中判断变量的类型
  7. 面试官 | 为什么用了索引之后,查询就会变快?
  8. 果园机器人的写作思路_《果园机器人》三年级教学设计
  9. Objective-C 和 Core Foundation 对象相互转换的内存管理总结
  10. 计算机网络基础孟敬pdf,马来西亚主要统计指标数据.pdf
  11. excel教程自学网_Office 全套办公软件自学视频教程word+excel+ppt
  12. springboot异步调用demo
  13. C盘清理(主要的大文件清理)
  14. Office Web App服务器的配置
  15. [h5棋牌项目]-05-重载配置导致的内存泄露
  16. 【adcdn优化案例】某工具类app广告优化收益增长275%经验分享
  17. 科学计算线性方程组的几个实例
  18. HTML5七夕情人节表白网页制作——蓝色梦幻海洋3D相册—— HTML+CSS+JavaScript
  19. 【正点原子FPGA连载】 第一章 MPSoC简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  20. 坤坤老师告诉同学们什么是观察者模式

热门文章

  1. 职业学校计算机主要学什么条件,职业学校计算机教学计划
  2. 堆栈的初始化,主要是为ss和SP赋初值
  3. (软件工程复习核心重点)第十章面向对象设计-第五节:设计数据管理子系统和设计类中的服务
  4. (王道408考研数据结构)第六章图-第三节:图的遍历(DFS和BFS)
  5. luks:Linux Unified Key Setup 持久加密USB
  6. Python 按行读取文件内按分隔符分割字符串(去除空格和换行、字符串分割)
  7. springBoot AOP环绕增强、自定义注解、log4j2、MDC
  8. 【洛谷1341】无序字母对(欧拉回路)
  9. 将sql 结果导出到文件
  10. 初学WPF,做一款小游戏练习一下