- 使用IDEA-
Spring Initializr
[ServerUrl=‘start.aliyun.com’,java=‘8’] - 向
pom.xml
文件中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
- 编辑或创建
src/main/resources/
下的application.yml
# 应用名称
spring:
application:
name: mybatis_demo1
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://localhost/cgb2109?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
# 应用服务 WEB 访问端口
server:
port: 8080
#下面这些内容是为了让MyBatis映射
#指定Mybatis的Mapper文件
mybatis:
mapper-locations: classpath:mappers/*xml
#指定Mybatis的实体目录
type-aliases-package: com.jt.pojo
#打印指定包下的mapper的对应的sql
logging:
level:
com.jt.mapper: debug //前面的包是我们自己定义的mapper包所在的包,需要根据自己的实际情况修改
- 创建
com.jt.pojo.User
类
package com.jt.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.boot.autoconfigure.web.ResourceProperties;
@Data
@NoArgsConstructor //添加无参
@AllArgsConstructor //添加全参
@Accessors(chain = true) //可以链式调用set方法
public class User {
private Integer id;
private String name;
private Integer age;
private String sex;
}
- 创建
com.jt.mapper.UserMapper
接口
package com.jt.mapper;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper // 表示该接口交由Spring容器管理,实际注入时注入的是其实现类的代理对象
public interface UserMapper {
List<User> findAll();
User findById(Integer id);
}
- 创建
src/main/resources/mappers/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">
<!--namespace是mybaits映射文件的唯一标识,与接口对应-->
<mapper namespace="com.jt.mapper.UserMapper">
<!--id 表示接口方法
resultType 返回值结果类型
-->
<select id="findAll" resultType="com.jt.pojo.User">
select * from demo_user
</select>
<select id="findById" resultType="com.jt.pojo.User">
select * from demo_user where id = #{id}
</select>
</mapper>
- 修改
src/test/java/com.jt.*ApplicationTests.java
类里面的代码为:
package com.jt;
import com.jt.mapper.UserMapper;
import com.jt.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MybatisDemo1ApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
for (User user : userMapper.findAll()) {
System.out.println(user);
}
}
}
看能否打印出所有demo_user
表中的数据,如果可以打印出来,说明所有配置都正常生效了