一、三层架构
1、数据访问层/数据层/持久化层:dao、mapper
作用:与数据库做数据交互
2、业务层:service
作用:1、处理项目中的逻辑代码
2、调用持久层
3、控制层:controller
作用:1、控制页面的跳转
2、前后端数据交互
3、调用service
二、SSM集成
SSM集成=Spring + SpringMVC + MyBaits
思路:将当前的额框架的核心类交给Spring管理
如果框架有事务,那么事务也要统一交给spring管理
集成步骤:
1、集成spring
2、spring集成mybatis,在业务层管理事务
3、最后集成springMVC
三、详细步骤
1、创建项目
2、准备SQL数据库表
3、根据数据表封装domain实体类
4、mapper接口,创建五个crud抽象方法
5、根据抽象方法创建mapper.xml映射文件,写好SQL语句
6、导包
7、创建配置文件applicationContext.xml
1、扫描service注解
<context:component-scan base-package="com.wyc.service"/>
2、配置jdbc.properties四大金刚
3、使用hikari连接池对象配置数据源
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 使用hikari连接池配置数据源
直接使用username作为数据库用户名的话,会查找当前电脑用户名
-->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource">
<property name="driverClassName" value="${db_driverClassName}"/>
<property name="jdbcUrl" value="${db_jdbcUrl}"/>
<property name="username" value="${db_username}"/>
<property name="password" value="${db_password}"/>
</bean>
4、spring+mybatis整合,创建整合sqlsessionfactoryBean工厂对象
1、配置别名
2、将数据源的id引入(ref引入hikari连接池对象)
3、配置mapper.xml映射文件路径
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 配置数据源 -->
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.wyc.domain"/>
<!-- 配置mapper.xml映射文件路径
使用*通配符,文件路径以classpath:开头,文件夹之间使用/连接
-->
<property name="mapperLocations" value="classpath:com/wyc/mapper/*Mapper.xml"/>
</bean>
5、将mapper交给spring管理
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.wyc.mapper"/>
</bean>
6、配置接口,将接口交给spring管理
<!-- 配置spring事务管理对象
id必须使用transactionManager
-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
7、配置spring事务管理对象
8、开启事务注解
<tx:annotation-driven transaction-manager="transactionManager"/>
8、测试mapper
9、创建service接口并实现
10、测试service