SSM整合搭建(二)

本页来衔接上一页继续来搭建SSM,再提一下大家如果不详细可以再去看视频哦,B站就有

之后我们来配置SpringMVC的配置文件,主要是配置跳转的逻辑

先扫描所有的业务逻辑组件

我们要用SpringMVC去扫描包 那么就应该先去建立包

我们给SpringMVC设置扫描仅仅是Controller的包  并且禁止默认

    
    
        
        
    

之后我们再配置视图解析器,设置前缀与后缀,告知跳转的路径

    
    
    
        
        
    

设置两个标准配置

首先第一个是配置一个如果有SpringMVC不能处理的请求则交给tomcat  这样就能让动态静态资源都返回成功

第二个是能使用Springmvc的一些高级功能

    
    
    
    
    

接下来就是来配置Spring的配置文件

首先先配置数据源

因为这些数据都不是写死的 我们需要新建一个properties存储数据

在resources下创建一个dbconfig 存储配置数据

这是我的配置 为了不跟别的混乱 我们跟这个数据库有关的都加上jdbc前缀

写好之后我们需要外部引入dbconfig。这时候就需要context标签

然后我们就将dbconfig引入并填充到之前的数据源中

    
    
    
    
    
        
        
        
        
    

然后我们配置和SpringMVC一样的扫描包 这次就扫描除了controller的就行

    
        
    

配置好数据源后 我们需要开始配置和mybatis的整合

    
    
        
        
    

所以我们也先创建mybatis的配置文件 在resources建立 mybatis-config.xml  图片有点糊

配置文件的内容以后再填充

之后还需要导入数据源和引用mapper.xml的文件 所以我们先创建一个mapper的文件夹 在resources下

这就是完整的和mybatis整合

    
    
        
        
        
        
        
        
    

因为我们配置了mapper.xml的文件,但是接口Dao类还没有放入IOC容器中

所以我们需要再将dao放到IOC容器中


    
        
        
    

以上就是跟mybatis的整合。

之后我们来进行事务控制的配置  由事务管理器控制住数据源


    
        
        
    

之后我们要开始事务,可以基于注解也可以基于xml  将tx 和 aop都勾上

然后编写切入点表达式 ,并且配置事务增强。

并设置不同的请求方法所进行不同的操作。具体看注释

    
    
        
        
    
    
    
    
        
        
        
        
    
    
    
        
            
            
                    
            
        
    

切入点表达式的意思是哪些方法需要进行事务的控制。然后当切入事务以后该怎么做,就看事务增强配置的get还是所有方法所进行的操作了

事务增强和事务的配置式通过transaction-manager进行映射,默认值是transactionManager 如果大家修改了事务控制的配置 记得一定要修改这里 (从尚硅谷那个老师借鉴而来)

之后我们可以来配置Mybatis的基本设置,逆向工程等

Mybatis的很多固定的语句可以在官方文档直接复制使用 https://mybatis.org/mybatis-3/getting-started.html

这一块是在官方文档的Getting Started 进入就可以找到

首先我们先导入mybatis的全局文件,导入了这个才可以开启使用mybatis的语句。


 
 
 
 
 

然后我们可以在配置文件中setting一些文件

可以设置驼峰命名 便于数据库查出来直接与bean包对应 以及起别名方便使用


     
         
         
     
     
         
         
     
 
 

然后设置好Mybatis后我们需要去创建表 创建一个emp表和dept表

CREATE TABLE `tbl_dept` (
  `dept_id` int(11) NOT NULL AUTO_INCREMENT,
  `dept_name` varchar(255) NOT NULL,
  PRIMARY KEY (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
CREATE TABLE `tbl_emp` (
  `emp_id` int(11) NOT NULL AUTO_INCREMENT,
  `emp_name` varchar(255) NOT NULL,
  `gender` char(1) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `d_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`emp_id`),
  KEY `fk_emp_dept` (`d_id`),
  CONSTRAINT `fk_emp_dept` FOREIGN KEY (`d_id`) REFERENCES `tbl_dept` (`dept_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1006 DEFAULT CHARSET=utf8

并设置1两条数据

当表设置好以后,我们可以通过mybatis的逆向工程来创建对应的bean和对应的dao信息以及mapper信息。 逆向工程的网址: http://mybatis.org/generator/

可以在网址的Quick Start Guide 中进行配置

这里我们需要引入逆向工程的jar包




    org.mybatis.generator
    mybatis-generator-core
    1.3.5

然后导入后需要建立MGB的xml文件 我们在ssm-crud的目录下建立xml文件 (这里我的名字错了 大家别模仿)

取名为mgb.xml

然后将以下配置的内容都放上去  配置的地址是在

http://mybatis.org/generator/





  

  
    
    

    
      
    

    
      
      
    

    
      
    

    
      
    

    

首先我们将开头的 

这一行删除

然后我们需要将数据源的连接替换成我们自己的

然后修改我们的bean包生成的位置

    
    
    
    
      
      
    

然后需要指定我们的sql生成位置的映射

    
    
      
    

之后再指定dao接口生成的位置

    
    
      
    

最后的table指定每个表的生成策略。我们替换原内容 表示数据库表和bean的对应


    

想要方便的可以直接看这里 复制进去改一改就行





  
      
    
    

    
      
    
    
    
    
    
    
      
      
    

    
    
      
    

    
    
      
    

    
    

接下来我们生成就可以了。首先我们在test文件下生成一个MGB的java文件

package com.atguigu.crud.test;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class MGB {
    public static void main(String[] args) throws Exception {
           List warnings = new ArrayList();
           boolean overwrite = true;
           File configFile = new File("mgb.xml");
           ConfigurationParser cp = new ConfigurationParser(warnings);
           Configuration config = cp.parseConfiguration(configFile);
           DefaultShellCallback callback = new DefaultShellCallback(overwrite);
           MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
           myBatisGenerator.generate(null);
    }
}

主要是将File(“mgb.xml”) 改成刚才设置的文件就ok了  然后我们直接main方法运行

然后刷新一下 就发现东西都有了

OK,第二期就到这里,剩下的内容会尽快上传