SSM框架整合——常用方式整合SSM框架(二)项目基础结构搭建

        接下来,搭建SSM框架整合的项目基础结构,具体如下所示。

1、搭建数据库环境

        MySQL数据库中创建一个名称为ssm的数据库,在该数据库中创建一个名称为tb_book的表,并在tb_book表中插入数据。创建数据库和表,以及往表中插入数据的SQL语句如下所示。

CREATE DATABASE ssm;
USE ssm;
CREATE TABLE 'tb_book' ( 
  'id' int(11) ,
  'name' varchar(32) ,
  'press' varchar(32) ,
  'author' varchar(32) ); 
INSERT INTO 'tb_book' VALUES 
(1, 'JavaEE, '某某出版社', '作者');

2、引入项目依赖

        本案例中需要引入的相关依赖如下所示。

(1)Spring相关依赖。spring-context : Spring上下文;spring-tx : Spring事务管理;spring-jdbc : SpringJDBC;spring-test : Spring单元测试;spring-webmvc : Spring MVC核心。

(2)MyBatis相关依赖。mybatis : MyBatis核心;

(3)MyBatis与Spring整合包。mybatis-spring :MyBatis与Spring整合。 

(4)数据源相关。druid : 阿里提供的数据库连接池。

(5)单元测试相关的依赖。junit : 单元测试,与spring-test放在一起做单元测试。

(6)ServletAPI相关的依赖。jsp-api : jsp页面使用request等对象;servlet-api : java文件使用request等对象。

(7)数据库相关的依赖。mysql-connector-java : mysql的数据库驱动包。

  <dependencies>
    <!-- Spring相关依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <!--Spring事务管理-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <!--Spring MVC的相关依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <!--MyBatis相关依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.2</version>
    </dependency>
    <!--MyBatis与Spring整合相关依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.1</version>
    </dependency>
    <!--数据源-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.20</version>
    </dependency>
    <!--单元测试相关的依赖-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <!-- 相关的依赖-->
    <!--ServletAPI:引入servlet的功能-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <!--ServletAPI: jsp页面的功能包 -->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
      <scope>provided</scope>
    </dependency>
    <!-- 数据库驱动相关依赖-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.16</version>
    </dependency>
  </dependencies>

3、创建实体类

        创建名称为Book的实体类。

public class Book {
    private Integer id;         //图书id
    private String name;        //图书名称
    private String press;       //出版社
    private String author;      //作者

    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 String getPress() {
        return press;
    }

    public void setPress(String press) {
        this.press = press;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }
}

4、(1)创建三层架构对应模块的类和接口

        创建名称为BookMapper的持久层接口,在BookMapper接口中定义findBookById()方法,通过图书id获取对应的图书信息。

import com.test.domain.Book;
public interface BookMapper {
    public Book findBookById(Integer id);
}

(2)创建三层架构对应模块的类和接口

        创建BookMapper接口对应的映射文件BookMapper.xml。

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper 
	PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.test.dao.BookMapper">
    <!--根据id查询图书信息 -->
    <select id="findBookById" parameterType="int"
            resultType="com.test.domain.Book">
    		select * from book where id = #{id}</select>
</mapper>

(3)创建三层架构对应模块的类和接口

        创建名称为BookService的业务层接口,在BookService接口中定义findBookById()方法,通过id获取对应的Book信息。

import com.test.domain.Book;
public interface BookService {
    public Book findBookById(Integer id);
}

(4)创建三层架构对应模块的类和接口

        创建BookService接口的业务层实现类BookServiceImpl。BookServiceImpl类实现BookService接口的findBookById()方法。

@Service
public class BookServiceImpl implements BookService {
    @Autowired
    private BookMapper bookMapper;
    public Book findBookById(Integer id) {
        return bookMapper.findBookById(id);
    }
}

(5)创建三层架构对应模块的类和接口

        创建名称为BookController的类。在BookController类中注入一个BookService对象,并且定义一个名称为findBookById()的方法。

@Controller
public class BookController {@Autowired
    private BookService bookService;
    @RequestMapping("/book")
    public ModelAndView findBookById(Integer id){
        Book book = bookService.findBookById(id);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("book.jsp");
        modelAndView.addObject("book",book); return modelAndView; }}

(6)创建三层架构对应模块的类和接口

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BugPoet

你的鼓励将是我创作的最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值