SpringBoot使用mybatis步骤总结

下面是关于“SpringBoot使用MyBatis步骤总结”的完整攻略。

一、引言

MyBatis 是一个开源的优秀的持久层框架,而 SpringBoot 是一个非常流行的 Web 应用开发框架。本文将介绍在 SpringBoot 中使用 MyBatis 的完整步骤。

二、添加依赖

首先需要在 pom.xml 文件中添加 MyBatis 和 MyBatis-SpringBoot 依赖:

<dependencies>
  <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>${mybatis-spring-boot.version}</version>
  </dependency>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
  </dependency>
  <!-- 其他依赖 -->
</dependencies>

三、配置MyBatis

在 SpringBoot 的配置文件 application.properties 或者 application.yml 中添加如下配置:

mybatis:
  mapper-locations: classpath:mapper/*.xml # MyBatis映射文件存放路径
  configuration:
    map-underscore-to-camel-case: true # 开启驼峰命名转换

四、创建数据源

可以使用 SpringBoot 默认的配置,也可以自定义数据源。这里介绍两种常用的数据源配置方式:

1. 使用默认数据源

application.properties 文件中配置:

spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=

2. 使用自定义数据源

首先将自定义数据源类添加到 Spring 容器中:

@Configuration
public class DataSourceConfig {

  @Bean
  @ConfigurationProperties(prefix = "spring.datasource")
  public DataSource dataSource() {
    return new DruidDataSource();
  }

}

然后在 application.properties 或者 application.yml 中配置:

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=

我们使用阿里巴巴开源的 Druid 数据库连接池作为数据源。

五、创建实体类和Mapper

在项目的 src/main/java 下创建实体类和 Mapper 接口。

1. 实体类

@Data  //使用 Lombok 简化 Getter/Setter 方法的编写
public class User {
  private Long id;
  private String name;
  private Integer age;
}

2. Mapper 接口

Mapper 接口定义了对用户表的操作,包括插入、查询、更新和删除等。

@Mapper
public interface UserMapper {
  @Insert("insert into user(name, age) values(#{name}, #{age})")
  int addUser(User user);

  @Delete("delete from user where id = #{id}")
  int deleteUser(Long id);

  @Update("update user set name = #{name}, age = #{age} where id = #{id}")
  int updateUser(User user);

  @Select("select * from user where id = #{id}")
  User findUserById(Long id);

  @Select("select * from user")
  List<User> findAllUser();
}

六、创建Service

创建 Service 类,并注入 UserMapper 实例对象。

@Service
public class UserService {
  @Autowired
  private UserMapper userMapper;

  public int addUser(User user) {
    return userMapper.addUser(user);
  }

  public int deleteUser(Long id) {
    return userMapper.deleteUser(id);
  }

  public int updateUser(User user) {
    return userMapper.updateUser(user);
  }

  public User findUserById(Long id) {
    return userMapper.findUserById(id);
  }

  public List<User> findAllUser() {
    return userMapper.findAllUser();
  }
}

七、编写Controller

在 SpringBoot 中使用 MyBatis,可以使用 @RestController、@GetMapping、@PostMapping 等注解来定义 RESTful 接口。

@RestController
@RequestMapping("/user")
public class UserController {

  @Autowired
  private UserService userService;

  @PostMapping("/add")
  public int addUser(@RequestBody User user) {
    return userService.addUser(user);
  }

  @DeleteMapping("/{id}")
  public int deleteUser(@PathVariable("id") Long id) {
    return userService.deleteUser(id);
  }

  @PutMapping
  public int updateUser(@RequestBody User user) {
    return userService.updateUser(user);
  }

  @GetMapping("/{id}")
  public User findUserById(@PathVariable("id") Long id) {
    return userService.findUserById(id);
  }

  @GetMapping("/all")
  public List<User> findAllUser() {
    return userService.findAllUser();
  }
}

八、示例

1. 新增用户

向 http://localhost:8080/user/add 发送 POST 请求,例如:

{
  "name": "Tom",
  "age": 22
}

则返回:

1

表示插入数据成功。

2. 查询所有用户

向 http://localhost:8080/user/all 发送 GET 请求,则返回所有用户的信息,例如:

[
  {
    "id": 1,
    "name": "Tom",
    "age": 22
  },
  {
    "id": 2,
    "name": "Lucy",
    "age": 23
  }
]

九、总结

至此,我们已经学习了在 SpringBoot 中使用 MyBatis 的完整步骤。根据以上流程,可以快速、简单地开发出一个并发量较小的 Web 应用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot使用mybatis步骤总结 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • SpringBoot文件上传与下载功能实现详解

    下面我将为你详细讲解如何使用SpringBoot实现文件上传与下载功能。 一、上传文件 1. 添加依赖 在pom.xml中添加如下依赖,用于实现文件上传的功能: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring…

    Java 2023年5月19日
    00
  • Java虚拟机GC日志分析

    下面是关于Java虚拟机GC日志分析的完整攻略: 什么是Java虚拟机GC日志 Java虚拟机的内存管理采用了分代垃圾收集的方式,GC日志是Java虚拟机在垃圾回收时所产生的日志,它里面包含了垃圾回收的很多相关信息,如垃圾回收的原因、结果、执行时间以及内存状态等。 获取GC日志 在使用Java虚拟机时,默认情况下并不会产生GC日志,需要手动开启才可以,一般有…

    Java 2023年5月26日
    00
  • spring mvc4中相关注解的详细讲解教程

    以下是关于“Spring MVC4中相关注解的详细讲解教程”的完整攻略,其中包含两个示例。 1. 前言 Spring MVC是一种常用的Java Web开发框架,它提供了一种灵活的方式来开发Web应用程序。本攻略将详细讲解Spring MVC4中相关注解的使用方法。 2. 相关注解 2.1 @Controller @Controller注解用于标识一个类是S…

    Java 2023年5月16日
    00
  • java实现的DES加密算法详解

    Java实现的DES加密算法详解 什么是DES加密算法 DES加密算法是一种对称密钥算法,全称为“Data Encryption Standard”,是美国IBM公司于1975年研制的一种对称密钥加密算法。DES算法的原理非常简单,就是将明文经过一系列置换和替换操作,最终被加密成密文。而解密过程就是将密文经过相应的操作,最终得到明文。 DES算法具有如下特点…

    Java 2023年5月19日
    00
  • java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误解决

    当在Windows平台上运行Java程序时,可能会遇到java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误。这个错误通常表示尝试加载一个非Win32本机库的错误,或者尝试加载一个Win32本地库,但在可执行文件中找不到该库的指定扩展名。 要解决此错误,可以尝试以下方法: 1. 检查本机库是否具有正确的位数 如…

    Java 2023年5月25日
    00
  • Spring Boot如何集成模板引擎FreeMarker

    下面是 Spring Boot 集成 FreeMarker 模板引擎的完整攻略。 一、引入依赖 在 pom.xml 中添加 FreeMarker 和 Spring Boot 的依赖,如下所示: <dependency> <groupId>org.springframework.boot</groupId> <arti…

    Java 2023年5月31日
    00
  • 如何将javaweb项目部署到linux下

    下面是如何将Java Web项目部署到Linux下的完整攻略。 步骤一:准备工作 在将Java Web项目部署到Linux下之前,我们需要准备以下工具: 一台运行Linux操作系统的服务器 Java开发包(JDK) Tomcat服务器 Maven构建工具 Git版本控制工具 步骤二:编写代码并打包 在准备好工具之后,我们需要编写Java Web项目的代码并将…

    Java 2023年5月20日
    00
  • Java编译时类型与运行时类型

    Java编译时类型与运行时类型 Java编译时类型与运行时类型是Java中非常重要的概念。在Java程序运行过程中,一个实例对象在编译时和运行时可能拥有不同的类型。下面我们来详细了解一下Java编译时类型与运行时类型。 什么是编译时类型 编译时类型指的是被声明的类型。在Java程序编译阶段,Java编译器会根据变量声明的类型对变量进行类型检查,这个被检查的类…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部