1 springmvc和mybatis整合
1.1 需求
使用springmvc和mybatis完成商品列表查詢。
1.2 整合思路
springmvc+mybaits的系統架構:
第一步:整合dao層
mybatis和spring整合,通過spring管理mapper接口。
使用mapper的掃描器自動掃描mapper接口在spring中進行註冊。
第二步:整合service層
通過spring管理 service接口。
使用配置方式將service接口配置在spring配置文件中。
實現事務控制。
第三步:整合springmvc
由於springmvc是spring的模塊,不需要整合。
1.3 準備環境
數據庫環境:mysql5.1
java環境:
jdk1.7.0_72
eclipse indigo
springmvc版本:spring3.2
所需要的jar包:
數據庫驅動包:mysql5.1
mybatis的jar包
mybatis和spring整合包
log4j包
dbcp數據庫連接池包
spring3.2所有jar包
jstl包
參考:
工程結構:
1.4 整合dao
mybatis和spring進行整合。
1.4.1 sqlMapConfig.xml
mybatis自己的配置文件。
1.4.2 applicationContext-dao.xml
配置:
數據源
SqlSessionFactory
mapper掃描器
1.4.3 逆向工程生成po類及mapper(單表增刪改查)
將生成的文件拷貝至工程中。
1.4.4 手動定義商品查詢mapper
針對綜合查詢mapper,一般情況會有關聯查詢,建議自定義mapper
1.4.4.1 ItemsMapperCustom.xml
sql語句:
SELECT* FROM items WHERE items.name LIKE '%筆記本%'
1.4.4.2 ItemsMapperCustom.java
1.5 整合service
讓spring管理service接口。
1.5.1 定義service接口
1.5.2 在spring容器配置service(applicationContext-service.xml)
創建applicationContext-service.xml,文件中配置service。
1.5.3 事務控制(applicationContext-transaction.xml)
在applicationContext-transaction.xml中使用spring聲明式事務控制方法。
1.6 整合springmvc
1.6.1 springmvc.xml
創建springmvc.xml文件,配置處理器映射器、適配器、視圖解析器。
<!-- 可以掃描controller、service、...
這裏讓掃描controller,指定controller的包
-->
<context:component-scan base-package="cn.itcast.ssm.controller"></context:component-scan>
<!--註解映射器 -->
<!-- <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>-->
<!--註解適配器 -->
<!-- <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>-->
<!-- 使用mvc:annotation-driven代替上邊註解映射器和註解適配器配置
mvc:annotation-driven默認加載很多的參數綁定方法,
比如json轉換解析器就默認加載了,如果使用mvc:annotation-driven不用配置上邊的RequestMappingHandlerMapping和RequestMappingHandlerAdapter
實際開發時使用mvc:annotation-driven
-->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 視圖解析器
解析jsp解析,默認使用jstl標籤,classpath下的得有jstl的包
-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置jsp路徑的前綴 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路徑的後綴 -->
<property name="suffix" value=".jsp"/>
</bean>
1.6.2 配置前端控制器
參考入門程序。
1.6.3 編寫Controller(就是Handler)
1.6.4 編寫jsp
1.7 加載spring容器
將mapper、service、controller加載到spring容器中。
建議使用通配符加載上邊的配置文件。
在web.xml中,添加spring容器監聽器,加載spring容器。