开发指南专题十四:JEECG微云快速开发平台MiniDao 介绍
? 開發指南專題十四:JEECG微云快速開發平臺MiniDao 介紹
13.MiniDao 介紹
13.1.??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自動生成
13.2.??接口和SQL文件對應目錄
第一步:接口定義[EmployeeDao.java]
@MiniDao
public interface EmployeeDao {
?@Arguments("employee")
?public List<Map>getAllEmployees(Employee employee);
?@Arguments("empno")
?Employee getEmployee(String empno);
?@Arguments({"empno","name"})
?MapgetMap(String empno,String name);
?@Sql("SELECT count(*) FROMemployee")
?Integer getCount();
????? @Arguments("employee")
?intupdate(Employee employee);
??@Arguments("employee")
?voidinsert(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>
? 13.3.??MiniDao接口配置
<!-- 注冊MiniDao接口 -->
<bean class="org.jeecgframework.minidao.factory.MiniDaoBeanFactory">
<propertyname="packagesToScan">
<list>
<value>examples.dao.*</value>
</list>
</property>
</bean>
13.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();
???List<Map> list =?employeeDao.getAllEmployees(employee);
??? for(Mapmp: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"));
??? }
}
}
13.5.? 環境搭建
環境:Spring3.X,Hibernate 3以上
MiniDao依賴:org.jeecgframework.minidao-1.2.1.jar
????? 13.5.1.?MiniDao與Spring集成
第一步:新建MiniDao的spring配置文件
文件名:spring-minidao.xml(可以自定義),只要讓spring掃描到這個文件即可。
| 掃描方法一: 在web.xml中的spring監聽器中掃描規則中包含spring-minidao.xml。 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </context-param> |
| 掃描方法二: 在spring的配置文件中引入spring-minidao.xml。 <import resource="classpath*:spring-minidao.xml" /> ? |
MiniDao配置詳解
MiniDao對springJdbc的支持(MiniDao的核心基礎配置)
| ? | <!-- MiniDao動態代理類 --> ???????? <bean id="miniDaoHandler" class="org.jeecgframework.minidao.aop.MiniDaoHandler"> <!-- springjdbc,必須依賴 --> ?????????????????? <property name="jdbcTemplate" ref="jdbcTemplate"></property> ???????? </bean> ? |
| <!-- 注冊MiniDao接口 --> ???????? <bean class="org.jeecgframework.minidao.factory.MiniDaoBeanFactory"> ?????????????????? <property name="packagesToScan"> ??????????????????????????? <list> <!-- 可以以包名注冊,自動掃描包下面的Dao接口 --> ???????????????????????????????????? <value>jeecg.cgreport.dao.*</value> ???????????????????????????????????? <value>jeecg.cgform.dao.*</value> ??????????????????????????? </list> ?????????????????? </property> ???????? </bean> ? | |
| ? | ? |
????13.5.2.?MiniDao與Hibernate集成
?前提是Hibernate已經由Spring容器管理,在MiniDao的配置文件中直接加入Hibernate支持即可。
| <!-- Hibernate MiniDao --> ???????? <bean id="genericBaseCommonDao" <!-- 對hibernate實體通用操作的實現類 --> ???????? class="org.jeecgframework.minidao.hibernate.dao.impl.GenericBaseCommonDao"> <!-- hibernate的sessionFactory -->???? ?????????????????? <property name="sessionFactory"> ??????????????????????????? <ref bean="sessionFactory" /> ?????????????????? </property> ???????? </bean> |
總結
以上是生活随笔為你收集整理的开发指南专题十四:JEECG微云快速开发平台MiniDao 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正直、智慧、成熟、诚信——毒霸用人的基本
- 下一篇: Effective C# 第二章:.Ne