1.选择Spring Initializr
2.勾选Spring Web;Spring Boot选择2.4.12
3,添加依赖
<!--version改成2.1.3.RELEASE-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<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>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!--thymeleaf网页模板插件(选填)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--pageHelper分页插件(选填)-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
4.在Application同级目录中添加controller,entity,mapper,service文件夹,然后在resources添加mapper文件夹和application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/qcby_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=CTT
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
mapper-locations: classpath:mapper/*.xml #对应mapper映射xml文件所在路径
type-aliases-package: com.yenanren.springboottest001.entity #对应实体类路径
5.建Controller,运行,浏览器输入就显示了
6.链接mybatis:添加启动项@MapperScan("com.yenanren.springboottest001.mapper")
7.建立UserMapper接口
package com.qcby.xmfs.boot.mapper;
import com.qcby.xmfs.boot.entity.User;
import java.util.List;
public interface UserMapper {
void insert(User user);
List<User> listAll();
void delete(Integer id);
void update(User user);
List<User> insertAndListAll(User user);
}
8.在mapper下建立UserMapper.xml
<?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="com.qcby.xmfs.boot.mapper.UserMapper">
<insert id="insert">
insert into user (username, password)
values (#{username}, #{password})
</insert>
<select id="listAll" resultType="com.qcby.xmfs.boot.entity.User">
select *
from user
</select>
<delete id="delete" parameterType="java.lang.Integer">
delete
from user
where id = #{id}
</delete>
<update id="update" parameterType="com.qcby.xmfs.boot.entity.User">
UPDATE user SET username=#{username},password=#{password}
where id=#{id}
</update>
</mapper>
9.建立UserService接口
package com.qcby.xmfs.boot.service;
import com.qcby.xmfs.boot.entity.User;
import java.util.List;
public interface UserService {
void insert(User user);
List<User> listAll();
void delete(Integer id);
void update(User user);
List<User> insertAndListAll(User user);
List<User> listPage(Integer pageNum, Integer pageSize);
}
10.建立Impl文件夹,并在里面建立UserServiceImpl.java;标注好@Service和@Resource
package com.qcby.xmfs.boot.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.qcby.xmfs.boot.entity.User;
import com.qcby.xmfs.boot.mapper.UserMapper;
import com.qcby.xmfs.boot.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserMapper usermapper;
@Override
public void insert(User user) {
usermapper.insert(user);
}
@Override
public List<User> listAll() {
return usermapper.listAll();
}
@Override
public void delete(Integer id) {
usermapper.delete(id);
}
@Override
public void update(User user) {
usermapper.update(user);
}
@Override
public List<User> insertAndListAll(User user) {
usermapper.insert(user);
return usermapper.listAll();
}
@Override
public List<User> listPage(Integer pageNum, Integer pageSize) {
Page<User> page = PageHelper.startPage(pageNum, pageSize);
// usermapper.listAll();并且 return page也行. 底层: mybatis插件机制 => 责任链 => 多个拦截器 => jdk动态代理。
System.out.println(page);
return usermapper.listAll();
}
}