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

SSM框架整合

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

SSM框架整合

之前光听说SSM是配置地狱,但是没有真切的感受到,现在真是,确确实实的配置地狱

一、创建数据库并连接

新建个数据库新建个表,用于和网站进行连接

CREATE DATAbase `ssmbuild`;

USE `ssmbuild`;

DROp TABLE IF EXISTS `books`;

CREATE TABLE `books` (
`bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',
`bookName` VARCHAr(100) NOT NULL COMMENT '书名',
`bookCounts` INT(11) NOT NULL COMMENT '数量',
`detail` VARCHAr(200) NOT NULL COMMENT '描述',
KEY `bookID` (`bookID`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT  INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)
VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');

创建完成后再java中链接数据库

二、jar包导入

需要导入的jar包比较多

首先是mybatis和数据库需要的包:

mysql-connect-java                java链接数据库

mybatis

mybatis-spring

c3p0                                        数据库连接池

然后是spring需要的包:

spring-webmvc

spring-jdbc

spring-aop

然后是springmvc需要的包:

jstl

servlet-api

最后是测试类的

junit

lombok


            org.projectlombok
            lombok
            1.18.22
        
        
            junit
            junit
            4.11
            test
        
        
            mysql
            mysql-connector-java
            8.0.25
        
        
            org.mybatis
            mybatis
            3.4.6
        
        
            org.springframework
            spring-webmvc
            5.3.10
        
        
            org.springframework
            spring-jdbc
            5.3.10
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet
            jstl
            1.2
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.springframework
            spring-aop
            5.3.10
        
        
        
            com.mchange
            c3p0
            0.9.5.2
        

再编写一个maven资源导入配置以防万一


        
            
                src/main/java
                
                    ***.xml
                
                false
            
            
                src/main/resources
                
                    ***.xml
                
                false
            
        
    

三、导入web配置并打包jar包

 四、编写pojo类

lombok偷懒了

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;
}

 五、配置mybatis-config.xml文件




    
        
    
    
        
    

因为此处是SSM整合,所以mybatis的配置大部分都放在了Spring中进行,保留这个文件主要的作用是证明这个工程中使用了mybatis

六、在dao层中实现增删改查接口并创建配置文件mapper.xml

dao层中的BooksMapper接口

public interface BooksMapper {
    //增加一本书
    int addBook(Books books);
    //删除一本书
    int deleteBookByID(@Param("bookID") int id);
    //查询一本书
    Books queryBookByID(int id);
    //修改一本书
    int updateBook(Books books);
    //查找所有书
    List queryAllBook();
}

BooksMapper.xml配置文件




    
        insert into smmbuild.books(bookName,bookCounts,detail)
        value (#{bookName},#{bookCounts},#{detail});
    
    
        delete smmbuild.books
        where bookID=#{bookID};
    
    
        update ssmbuild.books
        set bookName=#{bookName},bookCount=#{bookCounts},detail=#{details}
        where bookID=#{bookID};
    
    
    

整合了SSM还需要在mybatis中配置吗??????

七、编写service层调用dao层

BooksService接口

public interface BooksService {
    //增加一本书
    int addBook(Books book);
    //删除一本书
    int deleteBookByID(@Param("bookID") int id);
    //查询一本书
    Books queryBookByID(int id);
    //修改一本书
    int updateBook(Books books);
    //查找所有书
    List queryAllBook();
}

实现类

public class BooksServiceImpl implements BooksService{
    private BooksMapper booksMapper;



    public void setBooksMapper(BooksMapper booksMapper) {
        this.booksMapper = booksMapper;
    }



    @Override
    public int addBook(Books books) {
        return booksMapper.addBook(books);
    }

    @Override
    public int deleteBookByID(int id) {
        return deleteBookByID(id);
    }

    @Override
    public Books queryBookByID(int id) {
        return queryBookByID(id);
    }

    @Override
    public int updateBook(Books books) {
        return updateBook(books);
    }

    @Override
    public List queryAllBook() {
        return queryAllBook();
    }
}

因为主要需求就是增删改查,所以也没有额外增加service层代码

注意:此处一定要编写一个set方法用于后面的spring注入

八、编写spring-dao.xml配置文件

首先需要编写连接数据库的文件 db.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=123456


    
    

    
    
        
        
        
        
    

    
    
        
        
        
    


    
    
    
        
        

    

dao层的spring主要完成四件事:

1.关联数据库配置文件db.properties

2.创建连接池,此处用的是c3p0连接池,并且将db.properties中的信息导入

3.配置sqlSessionFactory

4.因为用Spring来配置dao层比用Mybatis层需要多配制一个实体类,所以需要配置一个自动扫描接口的bean,配置后就不用再实现dao层的接口了

九、编写spring-service.xml配置

再配置之前,首先需要将三个xml(包括后面的mvc.xml)关联,所以新建了一个applicationContext.xml,负责import三个xml文件,让其产生关联



        
        
        

配置spring-service.xml



        
        
        
        
                
        

        
        
                
                
        

        

主要干四件事:

1.使注解可用

2.将Service注入,并且一定需要xml关联,因为service层需要调用Dao层,并且需要调用service的set方法进行注入,不关联就会爆红。

3.声明式事务支持

4.如果需要织入,需要额外导入织入包并在此处编写aop

十、在web.xml中配置springmvc与过滤器


        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        1
    
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            utf-8
        
    
        
            characterEncodingFilter
            /*
        

都是老朋友了,但是需要注意一点的是,用于解决乱码的filter有一个专门的类可以实现,不用手动编写了

十一、编写springmvc-servlet.xml文件





    
    
    
    
    
        
        
        
        
    

配置老四样,并且在WEB-INF下创建jsp文件夹,并把这个配置文件也import到applicationContext.xml中

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

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

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