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" ?>