Minidao 基本概念 === ### 1.Dao(Data Access Object): Dao作为接口而作成。Dao本来的目的,就是通过把持久化的数据和处理逻辑相分离,来维持Bean的持久化。 Dao和JavaBeans的关系是1:1的关系,也即,有一个JavaBeans,就要作成一个Dao。 通过调用Dao的方法(method),来执行与方法(method)相对应的SQL文件中的SQL指令。 在作成Dao的时候,必须注意以下几点: * 与JavaBeans关联的常量声明(BEAN注释) * 方法(method)的定义 ### 2.SQL文件: SQL文件里记述SQL检索,更新等指令。 一旦调用Dao里定义的方法(method),就可以执行对应的SQL文件中记述的SQL指令。 请将作成的SQL文件与Dao放在同一个命名空间下。 ### 3.Spring.xml文件: 在xml文件进行Dao配置,把Dao作为组件(component)注册到Spring容器(container)中。要使用Dao功能,对已注册的Dao,必须进行AOP的应用。 Dao实体配置文件部分内容如下所示: ![](https://img.kancloud.cn/17/88/178884d15f97a6e322e72aa58b31511f_742x242.png) --- ## MiniDao Spring配置代码 **配置文件:spring-minidao.xml** ``` <!-- MiniDao动态代理类 --> <bean id="miniDaoHandler" class="org.jeecgframework.minidao.factory.MiniDaoBeanScannerConfigurer"> <!-- 是使用什么字母做关键字Map的关键字 默认值origin 即和sql保持一致,lower小写(推荐),upper 大写 --> <property name="keyType" value="lower"></property> <!-- 格式化sql --> <property name="formatSql" value="false"></property> <!-- 输出sql --> <property name="showSql" value="false"></property> <!-- dao地址,配置符合spring方式 --> <property name="basePackage" value="org.jeecgframework.web,com.jeecg"></property> <!-- 使用的注解,默认是Minidao,推荐 Repository--> <property name="annotation" value="org.springframework.stereotype.Repository"></property> </bean> ``` ### 4.MiniDao的执行: 执行Dao的基本方法如下所示: ①以spring.xml文件中配置需要管理的Dao接口,将Dao注册进Spring容器中 ②从Spring容器中调用getBean,取得已注册的Dao ③执行所得到的Dao的方法(method) ``` import java.util.Date; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import examples.dao.EmployeeDao; import examples.entity.Employee; public class ClientDao { public static void main(String args[]) { BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml"); EmployeeDao employeeDao = (EmployeeDao) factory.getBean("employeeDao"); Employee employee = new Employee(); employee.setId("8"); employee.setBirthday(new Date()); employee.setName("雇员张三"); //调用minidao方法 employeeDao.insert(employee); } } ```