SSM框架整合

SSM框架整合

1.1 整合注意事项

  1. 查看不同MyBatis版本整合Spring时使用的适配包;
    在这里插入图片描述
  2. 下载整合适配包
    https://github.com/mybatis/spring/releases
  3. 官方整合示例,jpetstore
    https://github.com/mybatis/jpetstore-6

1.2 整合思路、步骤

  1. 搭建环境
    创建一个动态的WEB工程
    导入SSM需要使用的jar包
    导入整合适配包
    导入其他技术的一些支持包 连接池 数据库驱动 日志…
  2. Spring + Springmvc
    在web.xml中配置: Springmvc的前端控制器 实例化Spring容器的监听器 字符编码过滤器 REST 过滤器
    创建Spring的配置文件: applicationContext.xml:组件扫描、 连接池、 事务…
    创建Springmvc的配置文件: springmvc.xml : 组件扫描、 视图解析器 mvc:...
  3. MyBatis
    创建MyBatis的全局配置文件
    编写实体类 Mapper接口 Mapper映射文件
  4. Spring + MyBatis :
    MyBatis的 SqlSession的创建 .
    MyBatis的 Mapper接口的代理实现类
  5. 测试: REST CRUD
    课堂: 查询所有的员工信息,列表显示
    课下: 增删改

1.3 整合的配置

1.3.1 web.xml

<?xml version="1.0" encoding="UTF-8"?> CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 CharacterEncodingFilter /* HiddenHttpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter HiddenHttpMethodFilter /*
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
	<servlet-name>springDispatcherServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:springmvc.xml</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>springDispatcherServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

1.3.2 Spring配置

<?xml version="1.0" encoding="UTF-8"?>

<!-- 组件扫描 -->
<context:component-scan base-package="com.atguigu.ssm">
	<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

<!-- 连接池 -->
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	<property name="driverClass" value="${jdbc.driver}"></property>
	<property name="jdbcUrl" value="${jdbc.url}"></property>
	<property name="user" value="${jdbc.username}"></property>
	<property name="password" value="${jdbc.password}"></property>
	
</bean>

<!-- 事务 -->
<bean id="dataSourceTransactionManager" 
	class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="dataSource"></property>
</bean>
<tx:annotation-driven transaction-manager="dataSourceTransactionManager"/>

1.3.3 SpringMVC配置

<?xml version="1.0" encoding="UTF-8"?>

<context:component-scan base-package=“com.atguigu.ssm” use-default-filters=“false”>
<context:include-filter type=“annotation”
expression=“org.springframework.stereotype.Controller”/>
</context:component-scan>

mvc:default-servlet-handler/
mvc:annotation-driven/

1.3.4 MyBatis配置

  1. 全局文件的配置
<?xml version="1.0" encoding="UTF-8" ?>
  1. SQL映射文件配置
<?xml version="1.0" encoding="UTF-8" ?> select e.id eid, e.last_name,e.email,e.gender, d.id did, d.dept_name from tbl_employee e ,tbl_dept d where e.d_id = d.id
	<association property="dept" javaType="com.atguigu.ssm.beans.Department">
		<id column="did" property="id"/>
		<result column="dept_name" property="departmentName"/>
	</association>
</resultMap>

1.3.5 Spring 整合MyBatis 配置

<!--1. SqlSession  -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 指定数据源 -->
	<property name="dataSource" ref="dataSource"></property>
	<!-- MyBatis的配置文件 -->
	<property name="configLocation" 
             value="classpath:mybatis-config.xml"></property>
	<!-- MyBatis的SQL映射文件 -->
	<property name="mapperLocations" 
             value="classpath:mybatis/mapper/*.xml"></property>
	<property name="typeAliasesPackage" 
             value="com.atguigu.ssm.beans"></property>
</bean>
<!-- Mapper接口
	MapperScannerConfigurer 为指定包下的Mapper接口批量生成代理实现类.bean的默认id是接口名首字母小写. 
 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<property name="basePackage" value="com.atguigu.ssm.mapper"></property>
</bean>
<!-- <mybatis-spring:scan base-package="com.atguigu.ssm.mapper"/> -->

1.4 整合测试

  1. 编写页面,发送请求:http://localhost:8888/ssm/employees
  2. 编写Handler,处理请求,完成响应
  3. 在页面中获取数据,显示数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值