方案1:
SpringMVC+SpringIOC/AOP+MyBatis
方案2:
Struts2+SpringIOC/AOP+Hibernate
/list.do-->DispatcherServlet-->HandlerMapping
-->ListController-->DeptService-->DeptDao-->DEPT
-->ModelAndView-->ViewResolver-->/list.jsp
a.导入spring,mybatis,mybatis-spring.jar,驱动,dbcp
b.导入spring配置applicationContext.xml
-编写SQL定义文件DeptMaper.xml -->定义dao层方法中的sql语句
-编写SQL映射接口DeptDao -->写方法,操作数据库
-配置MapperScannerConfigurer -->根据dao接口生成实现对象,写到applicationContext.xml文件中
-配置DispatcherServlet -->在web.xml中配置
-配置HandlerMapping --><mvc:annotation-driven />,写到applicationContext.xml文件中
-配置ListController -->listController中添加注解:@RequestMapping("/list")
-配置ViewResolver -->指明传送数据地址的 前后缀,写到applicationContext.xml文件中
/list.action-->StrutsPrepareAndExecuteFilter
-->ListAction-->DeptService-->DeptDao-->DEPT
a.引入spring,struts2,hibernate,struts2-spring-plugin.jar,
spring-orm.jar,spring-web.jar,驱动,dbcp
b.引入spring配置文件applicationContext.xml,Struts配置文件struts.xml
-在Dept.java编写映射描述(注解) -->在dept实体类中注解,指定关联数据库的表
-编写DeptDao接口及实现类 -->在实现类中的重写方法中定义hql语句(String hql = "from Dept order by deptno";)
<!-- Dao--HibernateTemplate--SessionFactory--DataSource -->
-在web.xml配置StrutsPrepareAndExecuteFilter
-配置ListAction(@Action,@Result)
-在web.xml配置ContextLoaderListener
使用MyBatis提供的一套标签,动态在XML中构建一个SQL语句。(拼凑SQL语句)
<where>: a.顶替一个WHERE关键词;b.可以过滤条件前面多余的and或or字符
select * from EMP where ENAME like ?
select * from EMP where SAL=?
select * from EMp where HIREDATE=?