ssm整合-MyBatis



1.搭建数据库:


CREATE DATABASE ssmbuild;

USE ssmbuild;

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,'JAVASCRIPT',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢')


2.新建一个普通maven项目,导入依赖


pom.xml:

<?xml version="1.0" encoding="UTF-8"?>

    4.0.0

    com.kakafa
    ssmbuild
    1.0-SNAPSHOT

    
        8
        8
    

    

    
        
            junit
            junit
            4.13
        
        
            mysql
            mysql-connector-java
            8.0.11
        
        
        
        
            com.mchange
            c3p0
            0.9.5.2
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
        
            org.mybatis
            mybatis
            3.5.2
        
        
            org.mybatis
            mybatis-spring
            2.0.6
        
        
            org.springframework
            spring-webmvc
            5.3.13
        
        
            org.springframework
            spring-jdbc
            5.3.14
        
        
            org.projectlombok
            lombok
            1.18.12
        
    

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




3.连接数据库



4.建立mybatis需要的文件目录



5.编写Mybatis代码


books:

package com.kakafa.pojo;

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

//java里面有一个Book类,为了避免冲突,所以这里取名为Books
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {

    private int bookID;
    private String bookName;
    private int bookCounts;
    private String detail;

}

database.properties:

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

BookMapper接口:

package com.kakafa.mapper;

import com.kakafa.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface BookMapper {

    //增加一本书
    int addBook(Books books);

    //删除一本书
    int deleteBookById(@Param("bookID") int id);


    //修改一本书
    int updateBook(Books books);

    //查询
    Books queryBookById(@Param("bookID")int id);

    //查询所有的书
    List queryAllBook();
}

BookMapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>



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

    
        delete from ssmbuild.books
        where bookID=#{bookID};
    
    
    
        update ssmbuild.books
        set  bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail}
        where bookID=#{bookID};
    

    

    

BookService接口:

package com.kakafa.service;

import com.kakafa.pojo.Books;
import java.util.List;

public interface BookService {

    //增加一本书
    int addBook(Books books);

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


    //修改一本书
    int updateBook(Books books);

    //查询
    Books queryBookById(int id);

    //查询所有的书
    List queryAllBook();
}

BookServiceImpl实现类:

package com.kakafa.service;

import com.kakafa.mapper.BookMapper;
import com.kakafa.pojo.Books;
import java.util.List;

public class BookServiceImpl implements BookService{

    //service层要调用dao层(即mapper)
    private 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核心配置文件:mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>