springboot—mybatis简单整合
1.导入依赖
html 资源一般放在 templates目录下
注意 :只有 thymeleaf才能跳转访问 templates下的资源
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>testProject</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--阿里druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.5.RELEASE</version>
</plugin>
</plugins>
<resources>
<!-- 防止找不到mybatis的mapper.xml文件,在项目启动时候就导入进去-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.yaml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
2.Controller
@Controller
public class controller1 {
@RequestMapping("/hello")
public String test1(Model model){
model.addAttribute("msg","hello fitow test");
return "hello";
}
@RequestMapping("/index")
public String index(){
System.out.println("hello, fitow");
return "index";
}
}
3.pojo
package demo.test.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class books {
private Integer id;
private String name;
private Integer school;
}
4.service
package demo.test.Service;
import demo.test.pojo.books;
import java.util.List;
public interface BookService {
//查找全部
List<books> findAll();
//通过id查找全部
books findById(int id);
//通过id进行添加
int addBooks(books books);
//通过id进行修改
int updateById(books books);
//通过id进行删除
int dataByid(int id);
}
package demo.test.Service;
import demo.test.Mapper.BooksMapper;
import demo.test.pojo.books;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BooksServiceImp implements BookService {
@Autowired
private BooksMapper mapper;
@Override
public List<books> findAll() {
return mapper.findAll();
}
@Override
public books findById(int id) {
return mapper.findById(id);
}
@Override
public int addBooks(books books) {
return mapper.addBooks(books);
}
@Override
public int updateById(books books) {
return mapper.updateById(books);
}
@Override
public int dataByid(int id) {
return mapper.dataByid(id);
}
}
5.mapper
package demo.test.Mapper;
import demo.test.pojo.books;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface BooksMapper {
//查找全部
List<books> findAll();
//通过id查找全部
books findById(int id);
//通过id进行添加
int addBooks(books books);
//通过id进行修改
int updateById(books books);
//通过id进行删除
int dataByid(int id);
}
<?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="demo.test.Mapper.BooksMapper">
<select id="findAll" resultType="demo.test.pojo.books">
select * from books
</select>
<select id="findById" parameterType="int" resultType="demo.test.pojo.books">
select * from books where id = #{id}
</select>
<insert id="addBooks" parameterType="demo.test.pojo.books">
insert into books (id,name,school) value (#{id},#{name},#{school})
</insert>
<update id="updateById" parameterType="demo.test.pojo.books">
update books set name = #{name} school = #{school} where id = #{id}
</update>
<delete id="dataByid" parameterType="int">
delete from books where id = #{id}
</delete>
</mapper>
6.application.yaml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/db1?autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
username: root
password:
driver-class-name: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource # 自定义数据源
7.hello.html
<!DOCTYPE html>
<html lang="en" xmlns:th=“http://www.thymeleaf.org”>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div th:text = "${msg}">
</div>
</body>
</html>