SSM框架整合

简介: SSM框架整合

SSM整合

SSM框架整合

1.1准备工作

create database ssm;
create table account(
id int primary key auto_increment,
name varchar(100),
money double(7,2)
);
1. 原始方式整合

课堂问答1.1 原始方式整合

2. 创建Maven工程

课堂问答1.1 原始方式整合

3.导入Maven坐标
点击打开坐标内容

课堂问答1.1 原始方式整合

4. 编写实体类
public class Account {
private int id ;
private String name ;
private double money ;
//省略getter和setter方法
}

课堂问答1.1 原始方式整合

public interface AccountMapper {
// 保存账户数据
void save(Account account);
// 查询账户数据
List findAll();
}
5. 编写Mapper接口

课堂问答1.1 原始方式整合

public interface AccountService {
void save(Account account); // 保存账户数据
List findAll(); // 查询账户数据
}
6. 编写Service接口

课堂问答1.1 原始方式整合

@Service ("accountService")
public class AccountServiceImpl implements AccountService {
public void save(Account account) {
SqlSession sqlSession = MyBatisUtils.openSession();
AccountMapper accountMapper = sqlSession.getMapper(AccountMapper. class );
accountMapper.save(account);
sqlSession.commit();
sqlSession.close();
}
public List<Account> findAll() {
SqlSession sqlSession = MyBatisUtils.openSession();
AccountMapper accountMapper = sqlSession.getMapper(AccountMapper.class);
return accountMapper.findAll();
}
}
7. 编写Service接口实现

1.1 原始方式整合

@Controller
public class AccountController {
@Autowired
private AccountService accountService ;
@RequestMapping ("/save")
@ResponseBody
public String save(Account account){
accountService .save(account);
return "save success";
}
@RequestMapping ("/findAll")
public ModelAndView findAll(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName ("accountList");
modelAndView.addObject ("accountList",accountService .findAll());
return modelAndView;
}
}
8. 编写Controller

1.1 原始方式整合

<%@ page contentType =" text/html;charset=UTF- 8 " language =" java " %>
< html >
< head >
< title >Title</ title >
</ head >
< body >
< h1 >保存账户信息表单</ h1 >
< form action="${ pageContext.request.contextPath }/save.action" method="post" >
用户名称< input type="text" name="name" >< br />
账户金额< input type="text" name="money" >< br />
< input type="submit" value=" 保存 " >< br />
</ form >
</ body >
</ html >
9. 编写添加页面

1.1 原始方式整合

< table border="1" >
< tr >
< th >账户id</ th >
< th >账户名称</ th >
< th >账户金额</ th >
</ tr >
< c:forEach items =" ${ accountList } " var="account" >
< tr >
< td > ${ account.id } </ td >
< td > ${ account.name } </ td >
< td > ${ account.money } </ td >
</ tr >
</ c:forEach >
</ table >
10. 编写列表页面

1.1 原始方式整合

11. 编写相应配置文件
  • Spring配置文件:applicationContext.xml
  • SprngMVC配置文件:spring-mvc.xml
  • MyBatis映射文件:AccountMapper.xml
  • MyBatis核心文件:sqlMapConfig.xml
  • 数据库连接信息文件:jdbc.properties
  • Web.xml文件:web.xml
  • 日志文件:log4j.xml

1.1 原始方式整合

12. 测试添加账户

1.1 原始方式整合

13. 测试账户列表

1.2 Spring整合MyBatis

1. 整合思路

1.2 Spring整合MyBatis

2. 将SqlSessionFactory配置到Spring容器中
<!--加载jdbc.properties-->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!--配置MyBatis的SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean>

1.2 Spring整合MyBatis

3. 扫描Mapper,让Spring容器产生Mapper实现类
<!--配置Mapper扫描-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.itheima.mapper"/>
</bean>

1.2 Spring整合MyBatis

4. 配置声明式事务控制
<bean id="transacionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transacionManager">
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="txPointcut" expression="execution(*
com.itheima.service.impl.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
</aop:config>

1.2 Spring整合MyBatis

5.修改Service实现类代码
@Service("accountService")
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountMapper accountMapper;
public void save(Account account) {
accountMapper.save(account);
}
public List<Account> findAll() {
return accountMapper.findAll();
}
}
目录
相关文章
|
2月前
|
前端开发 Java 数据库连接
SSM框架笔记源码剖析
SSM,是Spring+Spring MVC+MyBatis的缩写,是继SSH之后,目前比较主流的JavaEE企业级框架,适用于搭建各种大型的企业级应用系统。Spring依赖注人DI来管理各层的组件,使用AOP (面向切面编程)管理事务、日志、权限等。Spring MVC代表Model(模型)、View(视图).Contoller(控制)接收外部请求并进行分发和处理。MyBatis是基于JDBC的框架,主要用来操作数据库,并且将业务实体和数据表联系起来。
24 0
|
3月前
|
Java 数据库连接 Maven
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美结合!
|
1月前
|
SQL Java 数据库连接
浅谈SSM框架理论相关知识_kaic
浅谈SSM框架理论相关知识_kaic
|
3月前
|
Java 应用服务中间件 Maven
IDEA使用Maven整合搭建SSM框架
IDEA使用Maven整合搭建SSM框架
26 1
IDEA使用Maven整合搭建SSM框架
|
3月前
|
Java 数据库 数据安全/隐私保护
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
基于SSM框架实现管科类考研自我管理系统(分前后台spring+springmvc+mybatis+maven+jsp+jquery)
|
3月前
|
Java BI 数据库
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven+jsp+css+echarts)
|
3月前
|
前端开发 Java 关系型数据库
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
|
1月前
|
JavaScript Java 关系型数据库
实例!使用Idea创建SSM框架的Maven项目
实例!使用Idea创建SSM框架的Maven项目
38 0
|
1月前
|
Java 数据库连接 数据库
JAVA Web项目开发SSM框架搭建(第一天)
JAVA Web项目开发SSM框架搭建(第一天)
|
1月前
|
存储 JavaScript Java
基于ssm框架的博客系统
基于ssm框架的博客系统