首先构建新的项目。
在mysql中创建我们需要的表
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=utf8INSERT INTO `books`(`bookID`,`bookName`,`bookCounts`,`detail`)VALUES
(1,'Java',1,'从入门到放弃'),
(2,'MySQL',10,'从删库到跑路'),
(3,'Linux',5,'从进门到进牢');
注意:分段执行,不要一次性全部执行。
接着直接在IDEA中新建maven项目即可。

BookMapper(dao层接口)
package com.Li.dao;import com.Li.pojo.Books;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface BookMapper {//增加一个Bookint addBook(Books book);//根据id删除一个Bookint deleteBookById(@Param("bookId") int id);//更新Bookint updateBook(Books books);//根据id查询,返回一个BookBooks queryBookById(@Param("bookId") int id);//查询全部Book,返回list集合List queryAllBook();}
BookMapper.xml(编写dao层的映射文件,具体的sql语句。CRUD)
insert into ssmbuild.books(bookName,bookCounts,detail)values (#{bookName}, #{bookCounts}, #{detail}) delete from ssmbuild.books where bookID=#{bookID} update ssmbuild.booksset bookName = #{bookName},bookCounts = #{bookCounts},detail = #{detail}where bookID = #{bookID}
Books(实体类的创建)
package com.Li.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {private int bookID;private String bookName;private int bookCounts;private String detail;
}
BookService(与dao层接口一样)
package com.Li.service;import com.Li.pojo.Books;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface BookService {//增加一本书int addBook(Books book);//删除一本书int deleteBookById(int id);//更新一本书int updateBook(Books books);//查询一本书Books queryBookById(int id);//查询全部书List queryAllBook();}
BookServiceImpl(引用了dao层,相当于是代理模式,代理了dao层。并且还可以在dao层的内容上加自己的内容)
package com.Li.service;import com.Li.dao.BookMapper;
import com.Li.pojo.Books;import java.util.List;public class BookServiceImpl implements BookService{//service调dao层:组合dao层private BookMapper bookMapper;public void setBookMapper(BookMapper bookMapper) {this.bookMapper = bookMapper;}@Overridepublic int addBook(Books book) {return bookMapper.addBook(book);//业务层调dao层}@Overridepublic int deleteBookById(int id) {return bookMapper.deleteBookById(id);}@Overridepublic int updateBook(Books books) {return bookMapper.updateBook(books);}@Overridepublic Books queryBookById(int id) {return bookMapper.queryBookById(id);}@Overridepublic List queryAllBook() {return bookMapper.queryAllBook();}
}
mybatis-config.xml
pom.xml
4.0.0 com.Li ssmbuild 1.0-SNAPSHOT 8 8 junit junit 4.12 mysql mysql-connector-java 8.0.29 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.2 org.springframework spring-webmvc 5.1.9.RELEASE org.springframework spring-jdbc 5.1.9.RELEASE org.projectlombok lombok 1.18.24 src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false

这两个为spring层服务,所以mybatis层还不需要实现具体内容。
这就是mybatis层的实现。
上一篇:ChatGPT 体验和思考
下一篇:SWT Table列自适应大小