SpringBoot使用mybatis步骤总结

yizhihongxing

下面是关于“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日

相关文章

  • Java基础教程之类型转换与多态

    Java基础教程之类型转换与多态 类型转换是Java程序中常见的操作之一,涉及两种类型的转换:自动类型转换(如将int类型数据赋值给double类型变量)和强制类型转换(如将double类型数据强制转换为int类型数据)。在Java中,还涉及到常见的多态操作。以下为Java基础教程之类型转换与多态的完整攻略。 自动类型转换 Java中,自动类型转换是指将一个…

    Java 2023年5月26日
    00
  • android 仿微信demo——注册功能实现(服务端)

    对于这个主题,我可以给出一个标准的攻略,让你可以完成注册功能实现的服务端部分。 标题:Android 仿微信demo——注册功能实现(服务端) 介绍 在开发一个类似于微信的Android应用程序时,注册功能是最基本也是必不可少的。在这篇文章中,我们将指导您如何实现注册功能的服务端部分。 步骤 第一步:建立数据库 这是创建注册功能的前提,我将以MySQL数据库…

    Java 2023年5月23日
    00
  • maven springboot如何将jar包打包到指定目录

    以下是 Maven Spring Boot 如何将 Jar 包打包到指定目录的攻略,步骤如下: 第一步:在 Maven pom.xml 文件中添加插件 首先需要在 pom.xml 文件中添加 maven-jar-plugin 插件,然后设置输出目录: <build> <plugins> <plugin> <group…

    Java 2023年5月19日
    00
  • 使用Spring框架实现用户登录

    使用Spring框架实现用户登录可以分为以下几个步骤: 配置Spring Security 创建用户数据库 定义用户实体类 实现用户服务类 创建用户登录表单 实现登录控制器 具体实现过程如下: 1. 配置Spring Security Spring Security是一个强大的安全框架,可以实现基于角色的访问控制和身份验证等功能。我们首先需要在Spring配…

    Java 2023年5月19日
    00
  • Java之MyBatis的Dao方式以及Dao动态代理详解

    Java之MyBatis的Dao方式以及Dao动态代理详解 MyBatis是基于Java语言的一个ORM框架,它通过XML或注解的方式将Java对象映射到数据库中的表上。在使用MyBatis时,我们可以采用不同的方式进行数据访问,其中之一便是Dao方式。本文将对MyBatis的Dao方式以及Dao动态代理进行详解。 Dao方式 Dao即数据访问对象,它是一种…

    Java 2023年5月20日
    00
  • Java使用正则表达式对注册页面进行验证功能实现

    Java使用正则表达式对注册页面进行验证功能实现的攻略需要分为以下几个步骤: 定义需要验证的表单字段 在进行验证前,需要先确定需要验证的表单字段。一般来说,注册页面需要验证的字段包括用户名、密码、邮箱等。 编写正则表达式 根据需要验证的表单字段,编写相应的正则表达式。正则表达式用于匹配输入字符串,检查其是否符合规定的格式要求。 例如,对于用户名,常用的验证规…

    Java 2023年6月15日
    00
  • Java由浅入深全面讲解方法的使用

    Java由浅入深全面讲解方法的使用 什么是方法? 方法是一组可以被重复使用的代码块。它可以接受参数并返回结果。在Java中,方法是类的基本组成部分,通过方法可以完成对类的成员变量进行操作,并实现不同功能的代码块重用。 如何定义方法? 在Java中,方法由方法名和一对括号()组成,括号中可以定义传递给方法的参数列表。方法的代码块用{}包围。定义方法的基本语法如…

    Java 2023年5月26日
    00
  • 如何解决Mybatis–java.lang.IllegalArgumentException: Result Maps collection already contains value for X

    如何解决Mybatis–java.lang.IllegalArgumentException: Result Maps collection already contains value for X 的问题 Mybatis 是一个轻量级的 ORM 框架,可以很好地实现 Java 对数据库的操作,但在使用中可能会出现java.lang.IllegalArgu…

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