MiniDao
=======
当前最新版本: 1.9.9 (发布日期:20240321)
[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE)
[![](https://img.shields.io/badge/Author-北京国炬软件-orange.svg)](http://jeecg.com/aboutusIndex)
[![](https://img.shields.io/badge/Blog-官方博客-blue.svg)](https://jeecg.blog.csdn.net)
[![](https://img.shields.io/badge/version-1.9.9-brightgreen.svg)](https://github.com/zhangdaiscott/jeecg-boot)
[![GitHub stars](https://img.shields.io/github/stars/zhangdaiscott/jeecg-boot.svg?style=social&label=Stars)](https://github.com/zhangdaiscott/jeecg-boot)
[![GitHub forks](https://img.shields.io/github/forks/zhangdaiscott/jeecg-boot.svg?style=social&label=Fork)](https://github.com/zhangdaiscott/jeecg-boot)
> 反馈问题:发现bug请在github [发issue](https://github.com/jeecgboot/MiniDao/issues/new)
### MiniDao 简介及特征
An powerful enhanced toolkit of SpringJdbc for simplify development
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?
-----------------------------------
```
<dependency>
<groupId>org.jeecgframework</groupId>
<artifactId>minidao-pe</artifactId>
<version>1.9.9</version>
</dependency>
```
- [springboot2与minidao集成](http://minidao.jeecg.com/2392296)
- [springmvc与Minidao集成](http://minidao.jeecg.com/2392293)
技术交流
-----------------------------------
* 文 档: [http://minidao.jeecg.com](http://minidao.jeecg.com)
* JEECG低代码: [www.jeecg.com](http://www.jeecg.com)
* 敲敲云零代码: [www.qiaoqiaoyun.com](https://www.qiaoqiaoyun.com)
项目介绍
-----------------------------------
| 项目名 | 中文名 | 备注 |
|----------|:-------------:|------:|
| minidao-pe-framework| 架构核心包| |
| minidao-code-generate | 代码快速生成 | |
| minidao-pe-spring-boot-starter | spring-boot2 starter | |
| minidao-pe-example | 示例代码 | |
支持28种数据库
-----------------------------------
| 数据库 | 支持 |
| --- | --- |
| MySQL | √ |
| Oracle、Oracle9i | √ |
| SqlServer、SqlServer2012 | √ |
| PostgreSQL | √ |
| DB2、Informix | √ |
| MariaDB | √ |
| SQLite、Hsqldb、Derby、H2 | √ |
| 达梦、人大金仓、神通 | √ |
| 华为高斯、虚谷、瀚高数据库 | √ |
| 阿里云PolarDB、PPAS、HerdDB | √ |
| Hive、HBase、CouchBase | √ |
代码体验
-----------------------------------
#### 1. 接口定义[EmployeeDao.java]
@MiniDao
public interface EmployeeDao {
@Arguments({ "employee"})
@Sql("select * from employee")
List<Map<String,Object>> getAll(Employee employee);
@Sql("select * from employee where id = :id")
Employee get(@Param("id") String id);
@Sql("select * from employee where empno = :empno and name = :name")
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);
@ResultType(Employee.class)
public MiniDaoPage<Employee> getAll(@Param("employee") Employee employee,@Param("page") int page,@Param("rows") int rows);
}
#### 2. 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>
#### 3. 接口和SQL文件对应目录
![github](http://www.jeecg.org/data/attachment/forum/201308/18/224051ey14ehqe000iegja.jpg "minidao")
#### 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();
String id = UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
employee.setId(id);
employee.setEmpno("A001");
employee.setSalary(new BigDecimal(5000));
employee.setBirthday(new Date());
employee.setName("scott");
employee.setAge(25);
//调用minidao方法插入
employeeDao.insert(employee);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样.zip
共158个文件
java:72个
ftl:64个
xml:5个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 81 浏览量
2024-03-24
11:35:24
上传
评论
收藏 188KB ZIP 举报
温馨提示
一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样
资源推荐
资源详情
资源评论
收起资源包目录
一款极其轻量的JAVA持久层框架,基于 SpringJdbc + freemarker 实现,具备Mybatis一样.zip (158个子文件)
deploy.bat 57B
install.bat 35B
spring.factories 136B
pageIndex.ftl 20KB
pageIndex.ftl 16KB
pageEdit.ftl 14KB
pageAdd.ftl 12KB
controllerClass.ftl 12KB
controllerClass.ftl 10KB
pageIndex.ftl 9KB
pageEdit.ftl 8KB
pageAdd.ftl 7KB
pageEdit.ftl 7KB
pageAdd.ftl 7KB
pageDetail.ftl 6KB
pageDetail.ftl 6KB
controllerClass.ftl 6KB
controllerClass.ftl 5KB
pageIndex.ftl 5KB
pageAddJs.ftl 4KB
pageAddJs.ftl 4KB
pageEdit.ftl 3KB
pageAdd.ftl 3KB
daoSubClass.ftl 2KB
pageDetail.ftl 2KB
pageDetail.ftl 2KB
daoSubClass.ftl 2KB
serviceImplSubClass.ftl 2KB
serviceImplSubClass.ftl 2KB
daoClass.ftl 1KB
daoClass.ftl 1KB
daoMainClass.ftl 1KB
serviceImplClass.ftl 1KB
serviceImplClass.ftl 1KB
daoMainClass.ftl 1KB
serviceImplMainClass.ftl 1KB
serviceImplMainClass.ftl 1KB
pageClass.ftl 1KB
pageClass.ftl 1KB
serviceSubClass.ftl 920B
serviceSubClass.ftl 919B
minidaoInsertSql.ftl 767B
minidaoInsertSql.ftl 767B
minidaoInsertSql.ftl 767B
minidaoInsertSql.ftl 767B
minidaoConditionSql.ftl 647B
minidaoConditionSql.ftl 647B
minidaoConditionSql.ftl 647B
minidaoConditionSql.ftl 647B
serviceClass.ftl 640B
serviceClass.ftl 640B
serviceMainClass.ftl 621B
serviceMainClass.ftl 620B
minidaoUpdateSql.ftl 548B
minidaoUpdateSql.ftl 548B
minidaoUpdateSql.ftl 548B
minidaoUpdateSql.ftl 548B
domainQueryClass.ftl 329B
domainQueryClass.ftl 329B
domainClass.ftl 323B
domainClass.ftl 323B
domainClass.ftl 323B
domainClass.ftl 323B
minidaoGetAllSql.ftl 106B
minidaoGetAllSql.ftl 106B
minidaoGetAllSql.ftl 105B
minidaoGetAllSql.ftl 105B
.gitattributes 174B
.gitignore 131B
JdbcUtils.java 35KB
MiniDaoHandler.java 32KB
SqlServerParser.java 23KB
CountSqlParser.java 16KB
SqlServerParse.java 10KB
MiniDaoUtil.java 10KB
PageAutoDialect.java 8KB
SnowflakeIdWorker.java 7KB
FreemarkerParseFactory.java 7KB
ReflectUtil.java 5KB
SimpleFormat.java 5KB
MiniDaoBeanScannerConfigurer.java 4KB
MinidaoInterceptor.java 4KB
Classes.java 3KB
MinidaoInterceptor.java 3KB
Employee.java 3KB
EmployeeDao.java 3KB
EmployeeDaoJunit.java 3KB
OrderByParser.java 3KB
MinidaoInterceptor.java 3KB
MiniDaoClassPathMapperScanner.java 3KB
MinidaoAutoConfiguration.java 2KB
EmployeeService.java 2KB
OneToMainUtil.java 2KB
HsqldbDialect.java 2KB
MiniDaoLinkedMap.java 2KB
ClientDao.java 2KB
PostgreSqlDialect.java 2KB
ParameterNameUtils.java 2KB
MySqlDialect.java 2KB
OscarDialect.java 1KB
共 158 条
- 1
- 2
资源评论
Kwan的解忧杂货铺
- 粉丝: 1w+
- 资源: 3661
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Vue的电商购物网站设计源码
- 基于Java的elasticsearch视频教程配套Maven工程eshelloword设计源码
- 基于Typescript的兔子饭店经营类游戏源码设计免费送cocoscreator
- 基于Java的web快速开发数据权限管理脚手架wonder-server设计源码
- 基于Apache Log4cxx的C++日志库设计源码
- 基于Vue3的likeadmin免费任意商用管理后台设计源码
- 基于JavaScript的Chrome扩展WeNote分享插件设计源码
- 基于C++的中泰EM9108S动态库开发示例源码
- gxlx2-p291-1g.dts和gxlx2-p291-1g.dtb
- STM32WBxx Keil芯片包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功