栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

整合SSM

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

整合SSM

整合SSM 一、创建项目 搭建maven项目 添加pom.xml依赖 二、整合springMVC 创建spring-mvc.xml配置文件 配置WEB-INF目录下的web.xml文件 三、整合Mybatis 创建ssm数据库 创建applicationContext.xml配置文件 数据源配置 Mybatis配置 applicationContext.xml中与Mybatis相关的配置 建立Mybatis核心配置文件sqlMapConfig-spring.xml 建立Mybatis映射文件 四、配置事务管理 配置事务管理需要用到的依赖 五、其他配置 日志配置 六、测试

创建项目

搭建maven项目 创建项目时勾选webapp

项目目录结构

添加pom.xml依赖

    
      org.springframework
      spring-context
      5.0.5.RELEASE
    
    
      org.aspectj
      aspectjweaver
      1.8.7
    
    
      org.springframework
      spring-jdbc
      5.0.5.RELEASE
    
    
      org.springframework
      spring-tx
      5.0.5.RELEASE
    
    
      org.springframework
      spring-test
      5.0.5.RELEASE
    
    
      org.springframework
      spring-webmvc
      5.0.5.RELEASE
    

    
    
      javax.servlet
      servlet-api
      2.5
    
    
      javax.servlet.jsp
      jsp-api
      2.0
    

    
    
      org.mybatis
      mybatis
      3.4.5
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    
    
      mysql
      mysql-connector-java
      8.0.28
    
    
      c3p0
      c3p0
      0.9.1.2
    

    
      junit
      junit
      4.12
    
    
      jstl
      jstl
      1.2
    
  

二、整合springMVC

创建spring-mvc.xml配置文件



    
    
    
    
    
    
        
        
    
    
    

配置WEB-INF目录下的web.xml文件



    
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        DispatcherServlet
        /
    

    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        CharacterEncodingFilter
        /*
    


三、整合Mybatis

创建ssm数据库
CREATE DATABASE ssm

创建account表
use ssm;

CREATE TABLE `account`
(
    `id`    int NOT NULL AUTO_INCREMENT,
    `name`  varbinary(50) DEFAULT NULL,
    `money` double        DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  AUTO_INCREMENT = 2
  DEFAULT CHARSET = utf8mb3;

创建applicationContext.xml配置文件 以下时applicationContext.xml中的主要配置,包括组件扫描、数据源、sessionFactory、事务管理。



    
    
        
        
    

    
    

    
    
        
        
        
        
    

    
    
        
        
        
    

    
    
        
    


    
    
    
        
    

    
    
        
            
        
    

    
    
        
    

数据源配置 配置数据源需要用到的依赖,masql依赖版本与本地mysql版本对应

      mysql
      mysql-connector-java
      8.0.28
    
    
      c3p0
      c3p0
      0.9.1.2
    

配置数据源需要先配置jdbc.properties配置文件,根据数据库版本修改驱动,修改用户名和密码。

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=123456

applicationContext.xml文件中配置数据源部分

 
    

    
    
        
        
        
        
    

Mybatis配置 整合Mybatis,需要用到以下依赖

    
      org.mybatis
      mybatis
      3.4.5
    
    
      org.mybatis
      mybatis-spring
      1.3.1
    

applicationContext.xml中与Mybatis相关的配置
 
    
        
        
        
    

    
    
        
    
建立Mybatis核心配置文件sqlMapConfig-spring.xml





建立Mybatis映射文件 在开发中需要根据业务内容添加映射文件的文件名和内容,文件名应与mapper层接口名相同,namespace是mapper层接口的全限定名 ```xml ```

四、配置事务管理

配置事务管理需要用到的依赖

      org.springframework
      spring-jdbc
      5.0.5.RELEASE
    
    
      org.springframework
      spring-tx
      5.0.5.RELEASE
    

applicationContext.xml中与事务相关部分
需要根据包结构修改切点表达式


    
    
        
    

    
    
        
            
        
    

    
    
        
    

五、其他配置

日志配置 使用 创建log4j.properties配置文件
#
# Hibernate, Relational Persistence for Idiomatic Java
#
# License: GNU Lesser General Public License (LGPL), version 2.1 or later.
# See the lgpl.txt file in the root directory or .
#

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=all, stdout

六、测试 配置完成后的配置文件目录结构

页面


save.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    

添加账户信息表单

账户名称:
账户金额:

accountList.jsip

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


    Title


    

展示账户数据列表

账户id 账户名称 账户金额
${account.id} ${account.name} ${account.money}

Mybatis映射文件


AccountMapper.xml




    
        insert into account values(#{id},#{name},#{money})
    
    
        select * from account
    

controller层


AccountController.java

package com.lzjt.gsh.controller;

import com.lzjt.gsh.domain.Account;
import com.lzjt.gsh.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/account")
public class AccountController {

    @Autowired
    private AccountService accountService;

    //保存
    @RequestMapping(value = "/save",produces = "text/html;charset=UTF-8")
    @ResponseBody
    public String save(Account account){
        accountService.save(account);
        return "保存成功";
    }

    //查询
    @RequestMapping("/findAll")
    public ModelAndView findAll(){
        List accountList = accountService.findAll();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("accountList",accountList);
        modelAndView.setViewName("accountList");
        return modelAndView;
    }

}

service层 AccountService.java
package com.lzjt.gsh.service;

import com.lzjt.gsh.domain.Account;

import java.util.List;

public interface AccountService {

    public void save(Account account);

    public List findAll();

}

AccountServiceImpl.java

package com.lzjt.gsh.service.impl;

import com.lzjt.gsh.domain.Account;
import com.lzjt.gsh.mapper.AccountMapper;
import com.lzjt.gsh.service.AccountService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("accountService")
public class AccountServiceImpl implements AccountService {

    @Autowired
    private AccountMapper accountMapper;

    public void save(Account account) {
        accountMapper.save(account);
    }

    public List findAll() {
        return accountMapper.findAll();
    }
}

domain层 Account.java
package com.lzjt.gsh.domain;

public class Account {

    private Integer id;
    private String name;
    private Double money;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }
}

dao层(mapper) AccountMapper.java
package com.lzjt.gsh.mapper;

import com.lzjt.gsh.domain.Account;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface AccountMapper {

    public void save(Account account);

    public List findAll();

}

测试运行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/922104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号