# minidao
**Repository Path**: sunnydami/minidao
## Basic Information
- **Project Name**: minidao
- **Description**: Minidao,一款轻量级JAVA持久层解决方案,类Mybatis的SQL方式,可无缝集成Hibernate项目,解决Hibernate项目拥有Mybatis一样的SQL灵活能力
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: http://www.jeecg.org
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 162
- **Created**: 2018-06-06
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
MiniDao (轻量级JAVA持久层,Hibernate完美助手)
=======
当前最新版本: 1.6.4 (发布日期:20180604)
### MiniDao产生的初衷?
采用Hibernate的J2EE项目都有一个痛病,针对复杂业务SQL,hibernate能力不足,SQL不好优化和也无法分离。 这个时候大家就想到集成mybatis,但是一个项目既用hibernate又用mybatis,显得很重事务也不好控制。大家常规的做法是采用springjdbc来实现原生SQL编写,但是也同样存在问题,SQL无法分离也没有逻辑标签能力。
所以为了解决这个痛病,Jeecg针对springjdbc+freemarker做了封装,出了这么一个轻量级持久层,可以让Hiberate拥有mybatis一样SQL灵活能力,同时支持事务统一、SQL标签能力。
### MiniDao 简介及特征
MiniDao 是一款轻量级JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样的SQL分离和逻辑标签能力。Minidao产生的初衷是为了解决Hibernate项目,在复杂SQL具备Mybatis一样的灵活能力,同时支持事务同步。
具有以下特征:
* O/R mapping不用设置xml,零配置便于维护
* 不需要了解JDBC的知识
* SQL语句和java代码的分离
* 只需接口定义,无需接口实现
* SQL支持脚本语言(强大脚本语言,freemarker语法)
* 支持与hibernate轻量级无缝集成
* 支持自动事务处理和手动事务处理
* 性能优于Mybatis
* 比Mybatis更简单易用
* SQL 支持注解方式
* SQL 支持独立文件方式,SQL文件的命名规则: 类名_方法名; SQL文件更容易定位,方便后期维护,项目越大此优势越明显
* SQL标签采用[Freemarker的基本语法](http://blog.csdn.net/zhangdaiscott/article/details/77505453)
如何集成minidao?
-----------------------------------
#### 第一步:引入minidao依赖
org.jeecgframework
minidao-pe
1.6.4
#### 第二步: spring配置文件, 注册MiniDao动态代理类
#### 第三步: spring配置文件,注册minidao需要使用的工具类
通过以上配置minidao集成OK,可以写第一个mini SQL了。
技术交流
-----------------------------------
* 作 者: 张代浩
* 文 档: [http://minidao.mydoc.io](http://minidao.mydoc.io)
* 论 坛: [www.jeecg.org](http://www.jeecg.org)
* QQ交流群:① 325978980
代码体验
-----------------------------------
#### 1. 接口定义[EmployeeDao.java]
@MiniDao
public interface EmployeeDao {
@Arguments({ "employee"})
@Sql("select * from employee")
List