整合MyBatis

首先创建一个sprinboot项目,并引入web,jbdc,mysql驱动依赖。

1、添加springboot整合myBatis的依赖

1
2
3
4
5
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>

2、配置数据库连接信息

1
2
3
4
5
6
spring:
datasource:
username: root
password: 2824199842
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver

3、测试是否能连接成功

1
2
3
4
5
6
7
8
9
10
@SpringBootTest
class Springboot05MybatisApplicationTests {
@Autowired
DataSource dataSource;
@Test
void contextLoads() throws SQLException {
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
}

4、创建实体类,导入lombok

1
2
3
4
5
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>

User.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.zyz.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id;
private String name;
private String pwd;
}

5、创建mapper目录,以及对应的mapper接口

UserMapper.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Mapper// 表示这是一个mybatis的mapper类
@Repository
public interface UserMapper {

List<User> listAllUser();

User queryUserById(int id);

int addUser(User user);

int deleteUser(int id);

int updateUser(User user);
}

6、创建对应的sql映射文件UserMapper.xml

在项目配置文件中添加mybatis配置

1
2
3
4
5
6
7
8
9
# mybatis配置
mybatis:
type-aliases-package: com.zyz.bean # 设置别名 默认为类名
mapper-locations: classpath:mybatis/mapper/*.xml # mapper文件位置
configuration:
# 输出sql
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 开启驼峰命名规则
map-underscore-to-camel-case: true

UserMapper.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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.zyz.mapper.UserMapper">
<select id="listAllUser" resultType="User">
select * from user
</select>

<select id="queryUserById" resultType="User">
select * from user where id=#{id}
</select>

<insert id="addUser" parameterType="User">
insert into user(name,pwd)values(#{name},#{password})
</insert>

<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>

<update id="updateUser" parameterType="User">
update user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
</mapper>

6、创建controller目录,添加UserController类

UserController.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;

@GetMapping("/listAllUser")
public List<User> list(){
return userMapper.listAllUser();
}

@GetMapping("/queryUserById/{id}")
public User query(@PathVariable("id") int id){
return userMapper.queryUserById(id);
}

@GetMapping("/addUser")
public String add(){
userMapper.addUser(new User(null,"马老师","123456"));
return "add success";
}
@GetMapping("/deleteUser/{id}")
public String delete(@PathVariable("id") int id){
userMapper.deleteUser(id);
return "delete success";
}
@GetMapping("/updateUser")
public String update(){
userMapper. updateUser(new User(1,"qwer","123456"));
return "update success";
}
}

到此为止,MyBatis整合完毕。