SpringMVC(5)-ssm整合实现增删改查-mybatis层

mybatis层编写完毕后的项目目录

SpringMVC(5)-ssm整合实现增删改查-mybatis层

1.右键SpringMVC2项目-》new-》Modual-》选择maven项目(我的项目名为Study09_ssm),输入模块名,点击Finish

2.第二部的操作就是将idea的基本运行环境搞定,包括:添加web支持,配置tomcat,配置project structure

2.1添加web支持:右键项目名为Study09_ssm,选择Add Framework Support,勾选Web Application,点击ok

SpringMVC(5)-ssm整合实现增删改查-mybatis层

2.2配置tomcat(注意:如果第一步没有配置的话,tomcat里边不会出现这个项目的)

SpringMVC(5)-ssm整合实现增删改查-mybatis层

2.3配置project structure,选择idea菜单栏File->project structure->Artifact->找到自己的这个项目点击->在WEB-INF下新建一个lib文件夹(默认是没有的),然后点击加号,选择所有的依赖,点击ok

3.新建一个数据库命名为ssm_crud,新建一个查询窗口,执行如下的sql代码

USE ssm_crud;
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,'从进门到进牢');

4.让idea连接上MySql数据库,具体步骤如下:找到ida右侧的database选项,点击加号-》data source-》mysql,打开data source and driver窗口,也就是第二张图,根据步骤做完即可,完成后会出现第四张图的样子。

SpringMVC(5)-ssm整合实现增删改查-mybatis层

SpringMVC(5)-ssm整合实现增删改查-mybatis层

SpringMVC(5)-ssm整合实现增删改查-mybatis层

SpringMVC(5)-ssm整合实现增删改查-mybatis层

5.建立项目目录结构,如下图所示:Java文件夹下的四个包,web模块不用创建

SpringMVC(5)-ssm整合实现增删改查-mybatis层

6.resources文件夹下创建下面的三个文件

SpringMVC(5)-ssm整合实现增删改查-mybatis层

7.database.properties文件为数据库连接串,mybatis-config.xml文件为mybatis配置,这里只写别名和mappers即可,其他的让spring来做,至此mybatis层的resources文件夹下的内容搞定,applicationContext.xml是用来整合各层的配置文件的,这个最后配置。

jdbc.driver=com.mysql.jdbc.Driver
#mysql8.0+的话,要加一个时区设置&serverTimezone=Asia/Shanghai
jdbc.url=jdbc:mysql://localhost:3306/ssm_crud?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=CST
jdbc.username=root
jdbc.password=123456
xml version="1.0" encoding="UTF-8" ?>
DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <typeAliases>
        <package name="com.xiaoma1.pojo"/>
    typeAliases>

    <mappers>
        <mapper class="com.xiaoma1.dao.BookMapper">mapper>
    mappers>
configuration>

8.下面来做Java文件夹下的东西,包括:实体类,dao层的mapper接口和mapper.xml配置文件,service层的接口和实现类(我们这里主要实现对书籍的增删改查)

8.1编写实体类:属性名和数据库字段名一一对应,这里的get、set方法、有参无参构造通过三个注解来实现,分别是@Data、@NoArgsConstructor、@AllArgsConstructor

package com.xiaoma1.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Author:xiaoma
 * FileName:Books
 * Data:2022/5/3 10:21
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Books {
    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;
}

8.2编写dao层的mapper接口和mapper对应的xml文件,xml文件中编写sql语句实现和数据库的交互,下面为xml配置文件代码和接口代码

DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

        insert into books (bookName,bookCounts,detail)
        values (#{bookName},#{bookCounts},#{detail});

        delete
        from books
        where bookID=#{id};

        update books
        set bookName = #{bookName},bookCounts = #{bookCounts},detail=#{detail}
        where bookID = #{bookID};

        select *
        from books
        where bookID=#{id};

        select * from books;
package com.xiaoma1.dao;

import com.xiaoma1.pojo.Books;

import java.util.List;

/**
 * Author:xiaoma
 * FileName:BookMapper
 * Data:2022/5/3 10:23
 */
public interface BookMapper {
    //增加一本书
    int addBook(Books books);

    //删除一本书
    int deleteBookById(int id);

    //更新一本书
    int updateBook(Books books);

    //根据id查询一本书
    Books queryBookById(int id);

    //查询全部的书
    List queryAllBook();
}

8.3编写service层的接口和实现类,这里service’层的接口和dao层的mapper接口是一样的

package com.xiaoma1.service;

import com.xiaoma1.pojo.Books;

import java.util.List;

/**
 * Author:xiaoma
 * FileName:BookService
 * Data:2022/5/3 10:45
 */
public interface BookService {
    //增加一本书
    int addBook(Books books);

    //删除一本书
    int deleteBookById(int id);

    //更新一本书
    int updateBook(Books books);

    //根据id查询一本书
    Books queryBookById(int id);

    //查询全部的书
    List queryAllBook();
}
package com.xiaoma1.service;

import com.xiaoma1.dao.BookMapper;
import com.xiaoma1.pojo.Books;

import java.util.List;

/**
 * Author:xiaoma
 * FileName:BookServiceImpl
 * Data:2022/5/3 10:45
 */

public class BookServiceImpl implements BookService{
    //业务层调用dao层,组合dao
    public BookMapper bookMapper;
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }

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

    @Override
    public int deleteBookById(int id) {
        return bookMapper.deleteBookById(id);
    }

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

    @Override
    public Books queryBookById(int id) {
        return bookMapper.queryBookById(id);
    }

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

至此mybatis层实现完毕!!!!!!!!!

Original: https://www.cnblogs.com/XiaoMaGuai/p/16218031.html
Author: XiaoMaGuai
Title: SpringMVC(5)-ssm整合实现增删改查-mybatis层

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592489/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球