下面是关于“SpringBoot快速整合通用Mapper的示例代码”的完整攻略。
1. 环境准备
在进行示例代码示范前,需要确认以下环境是否具备:
- JDK 1.8及以上版本
- Maven 3.2.5及以上版本
- IntelliJ IDEA或Eclipse等集成开发环境
2. 添加依赖
首先,需要在pom.xml文件中添加如下依赖:
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
3. 配置数据源
在配置文件(application.properties或application.yml)中添加数据源相关配置信息:
spring:
datasource:
# 数据库连接用户名
username: root
# 数据库连接密码
password: root
# 数据库驱动
driver-class-name: com.mysql.cj.jdbc.Driver
# 数据库url
url: jdbc:mysql://localhost:3306/demo?serverTimezone=Asia/Shanghai
4. 定义实体类
接下来定义实体类和对应的Mapper接口。这里以用户(User)实体类和对应的Mapper接口(UserMapper)为例:
public class User {
private Long id;
private String username;
private String password;
// 省略getter和setter方法
}
public interface UserMapper extends Mapper<User> {
}
其中,UserMapper继承了通用Mapper的Mapper接口,这样就可以直接使用通用Mapper提供的方法操作数据库。
5. 编写Service和controller
然后编写UserService和UserController,在UserController中注入UserService,并在UserController中实现增删改查功能。这里只展示UserController的代码:
@RestController
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/user")
public String createUser(@RequestBody User user) {
int result = userService.save(user);
if (result == 1) {
return "success";
}
return "fail";
}
@DeleteMapping("/user/{id}")
public String deleteUser(@PathVariable Long id) {
User user = userService.findById(id);
if (user == null) {
return "fail";
}
int result = userService.delete(user);
if (result == 1) {
return "success";
}
return "fail";
}
@PutMapping("/user")
public String updateUser(@RequestBody User user) {
int result = userService.update(user);
if (result == 1) {
return "success";
}
return "fail";
}
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
return userService.findById(id);
}
@GetMapping("/users/{pageNum}/{pageSize}")
public PageInfo<User> getUsersByPage(@PathVariable int pageNum, @PathVariable int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userService.findAll();
return new PageInfo<>(userList);
}
}
6. 运行程序
最后,启动程序,访问http://localhost:8080/users/1/10即可查看用户列表。
以上就是整合通用Mapper的示例代码的完整攻略。
另附注解方式整合通用Mapper的示例说明:
1. 添加依赖
在pom.xml文件中添加如下依赖:
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.4</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
2. 配置数据源
与上面的步骤三一致。
3. 定义实体类和Mapper接口
接下来定义实体类和对应的Mapper接口。这里以用户(User)实体类和对应的Mapper接口(UserMapper)为例:
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
// 省略getter和setter方法
}
public interface UserMapper extends Mapper<User> {
}
这里的User类使用了JPA的注解,Mapper接口继承了通用Mapper的Mapper接口,也就是说可以直接使用通用Mapper提供的方法操作数据库。
4. 编写Service和controller
然后编写UserService和UserController,在UserController中注入UserService,并在UserController中实现增删改查功能。这里只展示UserController的代码:
@RestController
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/user")
public String createUser(@RequestBody User user) {
int result = userService.save(user);
if (result == 1) {
return "success";
}
return "fail";
}
@DeleteMapping("/user/{id}")
public String deleteUser(@PathVariable Long id) {
User user = userService.findById(id);
if (user == null) {
return "fail";
}
int result = userService.delete(user);
if (result == 1) {
return "success";
}
return "fail";
}
@PutMapping("/user")
public String updateUser(@RequestBody User user) {
int result = userService.update(user);
if (result == 1) {
return "success";
}
return "fail";
}
@GetMapping("/user/{id}")
public User getUserById(@PathVariable Long id) {
return userService.findById(id);
}
@GetMapping("/users/{pageNum}/{pageSize}")
public PageInfo<User> getUsersByPage(@PathVariable int pageNum, @PathVariable int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userService.findAll();
return new PageInfo<>(userList);
}
}
5. 运行程序
最后,启动程序,访问http://localhost:8080/users/1/10即可查看用户列表。
以上就是使用注解方式整合通用Mapper的示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot快速整合通用Mapper的示例代码 - Python技术站