阅读更多

Minidao产生初衷?    

     采用Hibernate的J2EE项目都有一个痛病,针对复杂业务SQL,hibernate能力不足,SQL不好优化也无法分离。 这个时候大家就想到集成mybatis,但是一个项目既用hibernate又用mybatis,显得很重事务也不好控制。大家常规的做法是采用springjdbc来实现原生SQL编写,但是同样存在问题,SQL无法分离也没有逻辑标签能力。
    所以为了解决这个痛病,Jeecg针对springjdbc+freemarker做了封装,出了这么一个轻量级持久层,可以让Hiberate拥有mybatis一样SQL灵活能力,同时支持事务统一、SQL标签能力。

 

升级日志

1,支持自增主键策略模式
2,支持自定义扩展主键策略
3,新增示例:自增主键策略模式
4,新增示例:存储过程调用
5,新增示例:自定义分页

MiniDao 简介

   MiniDao 是一款轻量JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离灵活性和逻辑标签。最大优点:可无缝集成Hibernate项目,支持事务统一管理,有效解决Hibernate项目,实现灵活的SQL分离问题。


MiniDao 功能特性

1. O/R mapping不用设置xml,零配置便于维护
2. 不需要了解JDBC的知识
3. SQL语句和java代码的分离
4. SQL支持脚本语言
5. 支持自动事务处理和手动事务处理
6. 支持与hibernate轻量级无缝集成
7. 只需接口定义,无需接口实现

源码下载

源码地址:   https://github.com/zhangdaiscott/MiniDao
QQ交流群: 325978980、143858350
技术论坛:   www.jeecg.org

源码解读

接口定义:

@MiniDao  
public interface EmployeeDao {  
  
public List<Map> getAllEmployees(@Param("employee") Employee employee);  
  
Employee getEmployee(@Param("empno") String empno);  
  
Map getMap(@Param("empno")String empno,@Param("name")String name);  
  
@Sql("SELECT count(*) FROM employee")  
Integer getCount();  
  
int update(@Param("employee") Employee employee);  
  
void insert(@Param("employee") Employee employee);  
}

 
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>

 

 

1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 基于J2EE构件的web开发平台|B/S架构的开发平台|bpm工作流

    &lt;br /&gt; 技术背景:&lt;br /&gt;大规模定制、个性化、随需应变和大规模融合趋势都是下一步信息化应用的新要求,同时也是对应用软件开发商的新挑战。而目前的web技术存在着巨大的缺陷,软件开发商不但开发出的应用不能够很...

  • Spring 3.x企业应用开发实战

    Spring 3.x企业应用开发实战     陈雄华 林开雄 著                                       Publishing House ofElectronics Industry 北京· BEIJING

  • 构建高性能J2EE应用的五种核心策略

     对于J2EE,我们知道当开发应用时,在架构设计阶段的决定将对应用的性能和可扩展性产生深远的影响。现在当开发一个应用项目时,我们越来越多地注意到了性能和可扩展性的问题。应用性能的问题比应用功能的不丰富问题...

  • 开发企业应用的主流技术趋势之一:Flex+Java

    《Flex企业应用开发实战》笔者的团队使用Flex+Java技术组合成功地开发了电力营销管理信息系统和输电GIS系统,并在两个供电企业上线运行,实实在在地感受到了这一组合的威力和给用户带来的震撼体验。因此,笔者特别想...

  • 在生产中监测和优化J2EE应用性能

     企业的业务依赖于J2EE应用服务器以提供高可靠性的关键业务应用。这些应用包括自助分类服务, 实时证券管理,和24 x 7 客户服务。 如果这些系统一旦不可用, 将带来客户和资金方面的损失。  J2E...

  • J2EE应用系统的MDPB开发方法

    &lt;br /&gt;摘要:本文介绍了一种适用于面向对象的J2EE应用系统的开发方法,其核心思想是MDPB-Model Driven Pattern Based即基于蓝图的模型驱动设计。&lt;br /&gt;概述&lt;br /&gt;一般的软件的分析设计过程为:需求调研,需求分析,...

  • 语言及框架演变系列文章:J2EE简介

    最近在看HeadFirst系列书籍,差不多一周一本的节奏,进而衍生出很多内容,自己从开发到管理也做了很长时间,团队和自己的技术栈从C开始到C++,然后JAVA,JAVA又从SSH到SSH到SSM,又到node.js,还到了Golang,部署...

  • 以秒杀为例浅谈企业应用软件架构设计过程

    1、引言 本文不是学术性文章,也不是某些标准化理论的阐述,而是根据所从事J2EE应用软件架构设计工作的经验,谈谈自己对软件架构设计过程的理解,希望能让一些徘徊于门口的同学能对企业应用软件架构设计的目标、...

  • j2ee

    J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。 J2EE核心是...

  • BeX5企业快速开发平台-前端快速开发框架

    BeX5企业快速开发平台,提供工作流,bpm,workflow,报表,协同门户,组织权限服务,一次开发,跨前端发布运行,云+端时代企业应用开发利器.企业云+端应用开发 就用BeX5BeX5企业快速开发平台 ⇒ 云+端时代企业应用开发利器...

  • Android应用程序开发以及背后的设计思想深度剖析

    初步过了一下,很多地方写得还是比较深入的,先转载,后面再仔细看看。   本文内容,主题是透过应用程序来分析Android系统的设计原理与构架。我们先会简单介绍一下Android里的应用程序编程,然后以这些应用程 序在...

  • 过渡到J2EE,对J2EE的一点浅显认识

    看完J2EE的视频,给我的感受是,理论终究是理论。这个理论就是光说不干,让人有点飘,抓不牢。   通篇理论中最多见的就是配置服务,XML的相关配置使得用J2EE开发的项目重用、扩展和灵活性大大增加了。灵活的有点...

  • j2ee 详解

    J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition)  J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在...

  • J2EE技术架构

    Sun微系统(与其工业伙伴一起,例如IBM)设计了J2EE,以此来简化在受客户级环境下的应用开发。由于创造了标准的可重用模块组件以及由于构建出能自动处理编程中多方面问题的等级结构,J2EE简化了应用程序的开发,也...

  • 基于 struts+spring+ibatis 的轻量级 J2EE 开发

    该示例程序设计优雅,层次清晰,可以学习以及作为一个高效率的编程模型参考。本文是在其基础上,采用 Spring 对其中间层(业务层)进行改造。使开发量进一步减少,同时又拥有了 Spring 的一些好处… 1. 前言 ...

  • J2EE

    J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。 J2EE简介  J2EE是Java2平台企业版(Java 2 Platform,Enterprise ...

  • j2ee简介

    J2EE是一套全然不同于传统应用开发的技术架构,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。  10 本词条 正文缺少必要目录或最新动态, 欢迎各位 编辑词条,额外...

  • 【Java】——J2EE基础

    只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。  WEB容器和EJB容器在原理上是大体相同的,更多的区别是被...

  • AVR单片机项目-ADC键盘(源码+仿真+效果图).zip

    使用adc功能来判断不同电压,那必定是通过电压的不同来区分的,这就需要按键与电阻进行组合,我设计打算使用正比关系的按键阻值,这样会比较好在程序判断,最后就如仿真图那样设计,按键按下让某部分电路短路,剩下的电路得到不同的电压值,而不同按键按下,对应的电阻值是10k的倍数,很好区分。而基地的电阻设为10k,按键靠近gnd的电压值最小,远离则慢慢增大,可大概计算出来的,分压的电压为5v。按键不按时为0v,有按键按的电压范围为2.5v~0.238v。然后用以前编写好的数码管驱动拿过来用,也就是用动态扫描的方式进行显示的。然后编写adc代码,根据atmega16的数据手册就可以慢慢写出来了,即配置好ADMUX、ADCSRA寄存器,使用单次触发的方式,写好对应的函数,在初始化之后,使用定时器1中断进行adc的读取和数码管的刷新显示。而adc对应按键的判断也使用了for循环对1024分成1~21份,对其附近符合的值即可判断为按键i-1,可直接显示出来,而误差值可以多次测量后进行调整。 使用adc功能来判断不同电压,那必定是通过电压的不同来区分的,这就需要按键与电阻进行组合,我设计打算使用正比关系的按

  • java毕设项目之基于SpringBoot的失物招领平台的设计与实现(完整前后端+说明文档+mysql+lw).zip

    项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:springboot,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3

Global site tag (gtag.js) - Google Analytics