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日

相关文章

  • Java实现超简单抖音去水印的示例详解

    标题 Java实现超简单抖音去水印的示例详解 简介 随着抖音的流行,越来越多的人想要制作自己的抖音视频,但是制作过程中,会发现视频上有抖音的水印,影响观感。那么如何去掉抖音的水印呢?本文将分享如何使用Java语言实现超简单的抖音去水印功能,让每个人都能轻松制作无水印的抖音视频! 技术方案 为了实现抖音去水印功能,需要使用到以下技术: Java语言 HttpU…

    Java 2023年5月19日
    00
  • EasyUI框架 使用Ajax提交注册信息的实现代码

    接下来我将详细讲解“EasyUI框架 使用Ajax提交注册信息的实现代码”的完整攻略。 首先,我们需要在我们的网页中引入EasyUI框架的JavaScript和CSS文件,可以使用以下链接引入: <link rel="stylesheet" type="text/css" href="https://c…

    Java 2023年5月20日
    00
  • Java异常类型及处理详情

    下面我将为你介绍“Java异常类型及处理详情”的完整攻略。 异常类型 Java中的异常分为两种类型:受检异常(Checked Exception)和非受检异常(Unchecked Exception)。 受检异常 受检异常是指在程序编译或运行时需要处理的异常,这种异常一般是由程序外部因素引起的,比如文件不存在、网络连接中断等等。在Java中,受检异常都是直接…

    Java 2023年5月27日
    00
  • 详解Java中如何正确书写单例模式

    单例模式是一种常见的设计模式,常被用来保证一个类在系统中只有一个实例存在,以达到节省系统资源、避免重复实例化等效果。Java中正确书写单例模式有多种方式,在此给出一些详细的攻略和示例供大家参考。 1. 饿汉式单例模式 饿汉式单例模式就是在类加载的时候就创建它的唯一实例,并且所有的请求都会返回同一个实例。这种实现方式的优点是线程安全,缺点是类加载的时候就初始化…

    Java 2023年5月26日
    00
  • Java中批处理框架spring batch详细介绍

    Java中批处理框架Spring Batch详细介绍 什么是Spring Batch? Spring Batch是一个轻量级、全面的批处理框架,用于开发企业级批处理应用程序。它旨在帮助开发人员管理和执行大规模批处理任务,其中包括读取大量数据、处理复杂计算和写回结果等任务。Spring Batch提供了许多功能,如任务调度、处理日志和抽象化数据源的读取和写入,…

    Java 2023年5月19日
    00
  • Java swing实现支持录音等功能的钢琴程序

    如何实现Java Swing支持录音等功能的钢琴程序? 导入所需库文件 实现这个功能的Java库有很多,我们可以使用Java Sound API、Java Media Framework、JLGui和JLayer。为了方便起见,我们在这里使用Java Sound API来实现这个功能。我们需要导入下面的库文件: <dependency> <…

    Java 2023年5月23日
    00
  • MyBatis自定义映射关系和关联查询实现方法详解

    MyBatis自定义映射关系和关联查询实现方法详解 简介 MyBatis是一款支持自定义SQL、存储过程和高级映射的持久层框架。在开发过程中,有时需要在查询结果中嵌套查询结果,或者查询结果中的列与实体类中的属性名不匹配。这就需要用到MyBatis自定义映射关系和关联查询。 MyBatis自定义映射关系 MyBatis中自定义映射关系可以通过ResultMap…

    Java 2023年5月20日
    00
  • 深入浅出理解Java泛型的使用

    深入浅出理解Java泛型的使用 什么是Java泛型? Java泛型是Java SE 5(J2SE 5.0)版本引入的一项新特性,它可以用于在编译时检测和强制类型检查程序的类型安全性,并提供了在编译时检查类型的优势。 泛型可以被看作是Java的抽象类型,它可以在运行时接受不同类型的参数,提高了代码的复用性和可读性。泛型主要包含以下内容: 类型参数(Type P…

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