Minidao 1.6.2 版本发布,轻量级Java持久化框架(Hibernate完美助手)

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. 只需接口定义,无需接口实现

源码下载

源码解读

接口定义:

@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>

轻量级Java持久化框架,Hibernate完美助手,Minidao 1.6.2版本发布的更多相关文章

  1. MiniDao_1.6.4 版本发布,轻量级Java持久化框架,Hibernate项目辅助利器

    MiniDao 简介及特征 MiniDao 是一款超轻量的JAVA持久层框架,具备Mybatis一样的SQL能力: 支持SQL分离.支持标签.支持注解.MiniDao产生的初衷是为了解决Hiberna ...

  2. 持久化框架Hibernate 开发实例(一)

    1 Hibernate简介 Hibernate框架是一个非常流行的持久化框架,其中在web开发中占据了非常重要的地位, Hibernate作为Web应用的底层,实现了对数据库操作的封装.HIberna ...

  3. [转]轻量级 Java Web 框架架构设计

    工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...

  4. Smart Framework:轻量级 Java Web 框架

    Smart Framework:轻量级 Java Web 框架 收藏 黄勇   工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework. 开发该框架是为了: 加 ...

  5. 初识轻量级Java开源框架 --- Spring

    初识轻量级Java开源框架 --- Spring 作者:egg 微博:http://weibo.com/xtfggef 出处:http://blog.csdn.net/zhangerqing spri ...

  6. 架构探险笔记3-搭建轻量级Java web框架

    MVC(Model-View-Controller,模型-视图-控制器)是一种常见的设计模式,可以使用这个模式将应用程序进行解耦. 上一章我们使用Servlet来充当MVC模式中的Controller ...

  7. java 三大框架 hibernate部分知识实现增删该查操作

    1.三层架构    表现层 web层(MVC是一个表现层的设计模型)    业务层 service层    持久层 dao层2.三大框架和三层架构的关系(建议学习三大框架的顺序:先学习hibernat ...

  8. Shiro - 轻量级Java 安全框架

    Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证.授权.加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务. 并且相对于其他安全框架,Shi ...

  9. Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

    JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升           ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+Boots ...

随机推荐

  1. 不同安卓手机的 安卓版本不同,xpath元素也不同

    模拟器是 夜神模拟器 版本是 4.4.2 LG手机  版本是 8.0.0

  2. 1126 Eulerian Path (25 分)

    1126 Eulerian Path (25 分) In graph theory, an Eulerian path is a path in a graph which visits every ...

  3. 安装时提示 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法

    INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 安装时出现这个提示. 是由于你工程的AndroidManifest.xml 配置有误,一般来说是activity或Ser ...

  4. T-SQL 事务2

    启用事务完成转账存储过程 use StudentManager go if exists(select * from sysobjects where name='usp_TransferAccoun ...

  5. typescript泛型接口

    //函数类型接口 /* interface ConfigFn{ (value1:string,value2:string):string; } var setData:ConfigFn=functio ...

  6. Css学习(2)

    1 标签分类(显示方式) 块元素 典型代表,Div,h1-h6,p,ul,li 特点: ★独占一行 ★可以设置宽高 ★ 嵌套(包含)下,子块元素宽度(没有定义情况下)和父块元素宽度默认一致. 行内元素 ...

  7. Devlopment Env Setup install ubuntu16.04

    http://blog.csdn.net/ljheee/article/details/52966048 1.add chinese language support settings -> i ...

  8. 阿里云发送短信验证码php_SDK

    1.登录阿里云账号下载——aliyun-dysms-php-sdk(我使用的php版本) 下载地址:https://help.aliyun.com/document_detail/55359.html ...

  9. qt 软件打包

    今天呈现的客户端完成了要打包发布,想了一下还不会,就问了一下度娘,在此记录一下学习的程度 1>将QT编译工具的BUG模式切换成Release模式,在Release模式下生成一个*.exe的可执行 ...

  10. ES6入门箭头函数

    箭头函数: 箭头函数可以与变量结构相结合(箭头函数返回对象的时候必须要在对象外边加()) 注意: 1️⃣函数体内的this是定义时所在的对象,而不是使用时的对象 2️⃣不可以当成构造函数,不可用new ...