MiniDao 接口和SQL文件对应目录接口定义[EmployeeDao.java]SQL文件[EmployeeDao_getAllEmployees.sql]MiniDao接口配置测试代码 介绍
MiniDao是Jeecg自己的持久化解决方案,具备了Hibernate实体维护和Mybaits
sql分离的两大优势。 具有以下特征:
- 1.O/R mapping不用设置xml,零配置便于维护
- 2.不需要了解JDBC的知识
- 3.sql语句和java代码的分离
- 4.可以自动生成sql语句
- 5.接口和实现分离,不用写持久层代码,用户只需写接口,以及某些接口方法对应的sql 它会通过AOP自动生成实现类
- 6.支持自动事务处理和手动事务处理
- 7.支持与hibernate轻量级无缝集成
- 8.MiniDao整合了Hibernate+mybatis的两大优势,支持实体维护和sql分离
- 9.sql支持脚本语言
※向下兼容Hibernate实体维护方式,实体的增删改查sql自动生成
接口和sql文件对应目录
接口定义[EmployeeDao.java]
@MiniDao public interface EmployeeDao { @Arguments("employee") public ListgetAllEmployees(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 employee.name ?exists> and name = :employee.name <#if employee.empno ?exists> and empno = :employee.empno
MiniDao接口配置
<!-- 注册MiniDao接口 --> <bean class="org.jeecgframework.minidao.factory.MiniDaobeanfactory"> <property name="packagesToScan"> <list> <value>examples.dao.*</value> </list> </property> </bean>
测试代码
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(); Listlist = 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")); } } }
MiniDao 接口和SQL文件对应目录接口定义[EmployeeDao.java]SQL文件[EmployeeDao_getAllEmployees.sql]MiniDao接口配置测试代码 官网
https://gitee.com/jeecg/minidao
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。