根本步骤
Step1 搭建我的项目根本框架
创立 controller、service、mapper、pojo 包构造及相干类文件,如图:
Step2 导入 jar 包
- mysql 驱动 jar 包
- mybatis jar 包
- spring 外围包
- spring 整合 mybatis jar 包
- spring-jdbc、spring-aop、spring-tx、spring-web jar 包
Step3 编写配置文件
src 文件夹下创立 applicationcontext.xml 文件,进行如下配置:
- 配置 DataSource bean,采纳属性注入的形式配置连贯数据库的信息
- 配置 SqlSessionFactory bean,采纳依赖注入的形式将数据源 bean 配置进去
- 配置 Mapper 包扫描 bean,将 sqlsessionfactory 依赖注入并配置指标扫描包门路
mapper bean 的 id 默认为 Mapper 文件名首字母小写 - 配置 Service bean,依赖注入 mapper bean
示例:
<!-- 配置数据源:mybatis 联合 spring 的包 -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/sxt_mybatis_learning?characterEncoding=utf8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!-- 配置 SqlSession 工厂 Bean-->
<bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref = "datasource"></property>
</bean>
<!-- 配置 Mapper 包扫描 bean-->
<bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactory" ref="factory"></property>
<property name="basePackage" value="com.gcp.mapper"></property>
</bean>
<!-- 配置 service bean-->
<bean id="flowerService" class="com.gcp.service.impl.FlowerServiceImpl">
<property name="flowerMapper" ref="flowerMapper"></property>
</bean>
Step4 Mapper 层
在 Mapper 编写数据库操作代码
Step5 Service 层
- 申明 Mapper 属性,并提供 getter、setter 办法
- 编写 service 业务代码
Step6 Controller 层
- 申明 Service 属性
- 在 init 办法中实现 Spring 容器内资源的初始化加载,获取业务层对象赋值给 service 属性
- 编写 servlet 层代码
示例:
@Override
public void init() throws ServletException {ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
flowerService = (FlowerService) ac.getBean("flowerService");
}
Step7 配置我的项目的 web.xml 文件
- 配置 Spring 环境加载文件的门路参数
- 配置监听器
示例:
<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>