MiniDao简介及特征
MiniDao是J2EE持久化解决方案,摆脱了hibernate笨重和Mybatis的繁琐,同时具备了实体维护和SQL分离的两大优点,拟补了mybatis和hibernate的不足。 主要具有以下特征:
- O/R mapping不用设置xml,零配置便于维护
- 不需要了解JDBC的知识
- SQL语句和java代码的分离
- 可以自动生成SQL语句
- 接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
- 支持自动事务处理和手动事务处理
- 支持与hibernate轻量级无缝集成
- MiniDao 吸收了Hibernate+mybatis的两大优势,支持实体维护和SQL分离
- SQL支持脚本语言
详细地址:http://zhangdaiscott.github.io/MiniDao/
源码下载地址: http://zhangdaiscott.github.io/MiniDao/
MiniDao VS mybatis : http://blog.csdn.net/zhangdaiscott/article/details/11489885
※ 实体的增删改查不需要写sql,支持SQL自动生成
————————————————————————————————————————
version: minidao-framework-1.3.0
date: 2013-11-26
作者: 张代浩
联系邮箱: scott@jeecg.com
————————————————————————————————————————
新版本改进包括:
- 项目切换为maven工程
- 返回的key大小参数设置,SQL格式化参数
- 添加sql数据参数,支持sql批处理
- dao接口支持扫描自动加载
- 防止sql注入
接口和SQL文件对应目录
接口定义[EmployeeDao.java]
- public interface EmployeeDao {
- @Arguments("employee")
- public List<Map> getAllEmployees(Employee employee);
- @Arguments("empno")
- Employee getEmployee(String empno);
- @Arguments({"empno","name"})
- Map getMap(String empno,String name);
- @Sql("SELECT count(*) FROM employee")
- Integer getCount();
- @Arguments("employee")
- int update(Employee employee);
- @Arguments("employee")
- void insert(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>
测试代码
- 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(Map mp: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"));
- }
- }
- }
技术交流
- 作者: 张代浩
- 技术论坛:www.jeecg.org
- 邮箱: zhangdaiscott@163.com
相关推荐
**PyPI 官网下载 | rapid-framework-1.3.0.tar.gz** PyPI(Python Package Index)是Python开发者发布自己软件包的地方,是全球最大的Python软件仓库。它为Python社区提供了一个集中的地方,使得用户可以方便地查找...
CSDN Idae开发者助手v1.3.0的发布,体现了CSDN团队对开发者需求的敏锐洞察和持续的技术投入。这个版本的改进,旨在帮助开发者更好地应对项目中的时间处理挑战,减少因时间问题带来的困扰,从而专注于核心的代码编写...
标题中的"PyPI 官网下载 | styler_rest_framework-1.3.0-py2.py3-none-any.whl"表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为`styler_rest_framework`,版本为1.3.0。PyPI是Python社区最常用...
ASP实例开发源码—ASTreeView 1.3.0发布(ASP.NET树控件).zip ASP实例开发源码—ASTreeView 1.3.0发布(ASP.NET树控件).zip ASP实例开发源码—ASTreeView 1.3.0发布(ASP.NET树控件).zip
Python2.7_TensorFlow1.3.0_MNIST数字数据集识别与TensorFlow模型持久化的小DEMO,具体的对MNIST、模型持久化等的分析见博客https://blog.csdn.net/primetong/article/details/79940684
【标题】"源代码-ASTreeView 1.3.0发布(ASP.NET树控件).zip" 提供的是一个ASP.NET开发中的组件——ASTreeView的源代码,版本为1.3.0。这个控件主要用于在网页上展示层次结构的数据,常用于导航菜单、组织结构图或者...
Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,主要解决微服务场景下的分布式事务问题。Seata Server 1.3.0 版本是该项目的一个稳定版本,包含了服务器端和...
seata1.3.0
【ASP源码—ASTreeView 1.3.0发布(ASP.NET树控件).zip】这个压缩包文件是关于ASP.NET技术中的一个特定控件——ASTreeView 1.3.0版本的源代码发布。ASP.NET是微软公司开发的一种用于构建Web应用程序的框架,它基于...
总的来说,Meld 1.3.0作为Linux下的图形化CVS工具,为开发者提供了一个直观、高效的版本控制解决方案,极大地提升了在Linux环境中进行CVS操作的效率和便利性。无论是新手还是经验丰富的开发者,都能从中受益。
Seata 是一款开源的分布式事务解决方案,全称为 Simple Extreme Transaction Architecture(简单极致的事务架构)。在1.3.0版本中,它提供了高效且易于使用的分布式事务服务,以支持微服务架构下的高并发、高性能...
"基于ASP的ASTreeView 1.3.0发布"是一个更新版本的控件,它可能包含了性能优化、新功能或改进的用户界面。 ASTreeView控件的核心特性包括: 1. **层级结构展示**:ASTreeView能够以树形结构展示数据,每一级节点都...
7. **模型保存与恢复**:`tf.Saver`类用于保存和恢复模型,1.3.0版本中,这一功能更加稳定,使得模型可以跨会话持久化。 8. **protobuf-3.4.0**:Protobuf(Protocol Buffers)是谷歌的一种数据序列化协议,是...
《ONNX运行时环境1.3.0在Python 3.8下的Linux ARMv7l平台安装指南》 在Python的生态系统中,ONNX(Open Neural Network Exchange)运行时环境是一个重要的工具,它允许跨框架运行AI模型。本文将详细阐述如何在基于...
ua-parser-1.3.0
1.3.0版本的发布说明和变更记录都可以在GitHub的release页面找到,方便用户了解新特性并解决可能遇到的问题。 七、Alibaba背景 作为阿里巴巴的产品,Nacos遵循了阿里巴巴的一贯标准,致力于为大规模分布式系统提供...
迷你SQL2000v1.3.0是一款小巧而实用的数据库管理系统,适用于那些对数据库性能要求不高的场景或者需要轻量级解决方案的用户。它以其精简的体积和易于操作的特点,成为了许多初学者和小型项目开发者的首选工具。 SQL...
HBase依赖于HDFS来持久化数据,Hadoop 2.x版本引入了YARN(Yet Another Resource Negotiator),优化了资源管理,使得HBase可以在多任务并行运行的环境中高效地处理数据。 Hive 2.3.6是基于Hadoop的数据仓库工具,...
Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,主要针对微服务场景下的分布式事务问题。在Windows环境下,Seata-server-1.3.0版本是为开发者提供的最新稳定版本...