博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM整合步骤
阅读量:4968 次
发布时间:2019-06-12

本文共 5323 字,大约阅读时间需要 17 分钟。

第一步:mybatis和spring整合

mybatis-spring-1.2.2:是mybatis官方出的包:

mybatis的包:

mybatis和spring的整合包:

spring及springmvc的包:

Dao

Spring配置文件:

applicationContext.xml
applicationContext-dao.xml
sqlmapConfig.xml
Mapper编写的三种方法
接口实现类继承SqlSessionDaoSupport

使用此种方法需要编写mapper接口,mapper接口实现类、mapper.xml文件

1、 sqlMapConfig.xml中配置mapper.xml的位置

 

 

 

2、 定义mapper接口

3、 实现类继承了SqlSessionDaoSupport

mapper方法中可以this.getSqlSession()进行数据增删改查。

4、 spring 配置

 

 

使用org.mybatis.spring.mapper.MapperFactoryBean

1、 sqlMapConfig.xml中配置mapper.xml的位置

如果mapper.xmlmappre接口的名称相同且在同一个目录,这里可以不用配置

 

2、 定义mapper接口

 

注意

 

1)mapper.xml中的namespacemapper接口的地址

 

2)mapper接口中的方法名和mapper.xml中的定义的statementid保持一致

 

3、 Spring中定义

 

 

使用mapper扫描器

1、 mapper.xml文件编写,

注意:

mapper.xml中的namespacemapper接口的地址

mapper接口中的方法名和mapper.xml中的定义的statementid保持一致

如果将mapper.xmlmapper接口的名称保持一致则不用在sqlMapConfig.xml中进行配置

2、 定义mapper接口

注意mapper.xml的文件名和mapper的接口名称保持一致,且放在同一个目录

3、 配置mapper扫描器

 

 

4、 使用扫描器后从spring容器中获取mapper的实现对象

扫描器将接口通过代理方法生成实现对象,要spring容器中自动注册,名称为mapper 接口的名称

 

Service

 

UserManager接口

 

编写UserManagerService接口,如下: 

 

public interface UserManagerService {    /**     * 根据id查询用户     */    public User findUserById(String id) throws Exception;}

 

public class UserManagerServiceImpl implements UserManagerService {    @Autowired    UserMapper userMapper;        @Override    public User findUserById(int id) throws Exception {        return userMapper.selectUserById(id);    } }
Spring配置文件:

userManagerspring配置文件进行配置

applicationContext--service.xml

Serivce测试:
ApplicationContext applicationContext;        protected void setUp() throws Exception {        applicationContext = new ClassPathXmlApplicationContext(                new String[]{                        "spring/applicationContext.xml",                        "spring/applicationContext-dao.xml",                        "spring/applicationContext-service.xml"                }                );            }    public void testFindUserById() throws Exception {        UserManagerService userManagerService = (UserManagerService)applicationContext.getBean("userManagerService");        System.out.println(userManagerService.findUserById(1));    }
事务控制:
配置

applicaitonContext.xml中配置事务管理器

 

事务测试

在一个service方法中先执行更新,再执行插入,插入一个违反唯一约束的记录,如果数据不回滚则说明事务没有控制。

 

Action

spingmvc.xml配置文件

编写UserAction.java

/** * 用户管理 * @author Thinkpad * */@Controller@RequestMapping("/user")public class UserAction {        @Autowired    UserManagerService userManagerService;        /**     * 用户修改     * @param model     * @param id     * @return     * @throws Exception     */    @RequestMapping("/useredit")    public String useredit(Model model,int id)throws Exception{        User user = userManagerService.findUserById(id);        model.addAttribute("user", user);        return "useredit";    }    /**     * 用户修改提交     * @param user     * @return     * @throws Exception     */    @RequestMapping("/usereditsubmit")    public String usereditsubmit(User user)throws Exception{        userManagerService.saveUser(user);        return "success";    }//其它方法略//……}

注意:学会如果在action中调用service,处理结果返回用户。

 

web.xml

mybatis_03
contextConfigLocation
/WEB-INF/classes/spring/applicationContext.xml,/WEB-INF/classes/spring/applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener
SpringCharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
SpringCharacterEncodingFilter
/*
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springmvc-servlet.xml
springmvc
*.action
index.jsp

测试

将工程部署在tomcat运行,输入:http://localhost:8080/mybatis_03/user/useredit.aciton?id=1,进入首页

 

  

 

 

 

 

转载于:https://www.cnblogs.com/lm970585581/p/9569723.html

你可能感兴趣的文章
存储设备形成的层次结构
查看>>
查看oracle数据库服务器的名字
查看>>
第1章 单例模式(Single Pattern)
查看>>
JavaScript网站设计实践(四)编写about.html页面,利用JavaScript和DOM,选择性的显示和隐藏DIV元素...
查看>>
silverlight 获取文本框焦点
查看>>
Ubuntu 16.04 几个国内更新源
查看>>
源码阅读 - java.util.concurrent (三)ConcurrentHashMap
查看>>
C语言——第三次作业
查看>>
C++ primer笔记 -基本语言
查看>>
js 获取当前标签 jquery1.11.4
查看>>
解决2.3.x某些系统中listview超出item高度部分灰色背景问题
查看>>
2012暑假集训内部测试赛1
查看>>
CentOS6.8-minimal安装gnome桌面 安装NVC远程桌面连接
查看>>
第二部分 : 简单句的核心变化(时态)
查看>>
Daily Scrum 10.30
查看>>
POJ 2503 单词映射(map)
查看>>
关于Mysql数据库查询数据大小写的问题汇总
查看>>
!HDU 2602 Bone Collector--DP--(裸01背包)
查看>>
Android测试(四)——内容供应器泄露
查看>>
HTML5学习路线资料,HTML5前端面试的技术栈
查看>>