Spring Boot中使用MyBatis实现数据访问和持久化

spring boot是一种快速开发框架,可以帮助开发人员快速搭建web应用程序。而mybatis是一种优秀的orm框架,可以简化java与数据库之间的数据访问和持久化。本文将介绍如何在spring boot中使用mybatis实现数据访问和持久化。

一、Spring Boot集成MyBatis

添加依赖

在pom.xml文件中添加MyBatis和MySQL依赖:

org.mybatis.spring.bootmybatis-spring-boot-starter1.3.1mysqlmysql-connector-java5.1.42

登录后复制

这里我们使用mybatis-spring-boot-starter来集成MyBatis。

配置数据源

在application.properties中添加数据库连接属性:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=falsespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driverClassName=com.mysql.jdbc.Driver

登录后复制

这里我们使用MySQL数据库,并且使用root账户连接,密码为123456。

配置MyBatis

Spring Boot默认会自动扫描mapper路径,我们只需要在application.properties中配置mapper路径即可:

mybatis.mapper-locations=classpath:mapper/*.xml

登录后复制

该配置表示mapper文件在项目的classpath下的mapper文件夹中。

在完成以上配置后,Spring Boot就已经完成了对MyBatis的集成工作。

二、编写实体类和Mapper

编写实体类

定义一个User类,表示数据库中的一张用户表:

public class User {    private Long id;    private String name;    private Integer age;    // 省略getter和setter方法}

登录后复制编写Mapper

定义一个UserMapper接口,用于定义User表的增删改查操作:

public interface UserMapper {    void saveUser(User user);    void updateUser(User user);    void deleteUser(Long id);    User findUserById(Long id);    List findAllUsers();}

登录后复制

这里我们定义了增删改查以及查询所有用户的方法。

三、编写Mapper.xml

接下来,我们需要编写UserMapper.xml文件,实现UserMapper中定义的操作:

        insert into user(name, age) values (#{name}, #{age})            update user set name = #{name}, age = #{age} where id = #{id}            delete from user where id = #{id}            select * from user where id = #{id}            select * from user    

登录后复制

在该文件中,我们实现了UserMapper中定义的所有方法,其中parameterType表示参数类型,resultType表示返回值类型。

四、编写Service类和控制器

编写Service类

定义一个UserService类,用于封装对User表的操作:

@Servicepublic class UserService {    @Autowired    private UserMapper userMapper;    public void saveUser(User user) {        userMapper.saveUser(user);    }    public void updateUser(User user) {        userMapper.updateUser(user);    }    public void deleteUser(Long id) {        userMapper.deleteUser(id);    }    public User findUserById(Long id) {        return userMapper.findUserById(id);    }    public List findAllUsers() {        return userMapper.findAllUsers();    }}

登录后复制

在这个类中,我们使用@Autowired注解注入了UserMapper,即可以使用UserMapper中定义的方法。

编写控制器

定义一个UserController类,实现对用户的增删改查操作:

@RestController@RequestMapping("/user")public class UserController {    @Autowired    private UserService userService;    @PostMapping("/")    public String saveUser(@RequestBody User user) {        userService.saveUser(user);        return "success";    }    @PutMapping("/")    public String updateUser(@RequestBody User user) {        userService.updateUser(user);        return "success";    }    @DeleteMapping("/{id}")    public String deleteUser(@PathVariable Long id) {        userService.deleteUser(id);        return "success";    }    @GetMapping("/{id}")    public User getUserById(@PathVariable Long id) {        return userService.findUserById(id);    }    @GetMapping("/")    public List findAllUsers() {        return userService.findAllUsers();    }}

登录后复制

在这个类中,我们使用@RestController注解表示当前类是一个控制器,使用@RequestMapping注解指定了访问路径。同时,使用@Autowired注解注入了UserService,即可以使用UserService中定义的方法。

五、测试

现在,我们已经完成了整个项目的搭建和代码编写。接下来,我们可以使用Postman等工具来测试控制器中定义的API。

使用POST请求来保存用户信息,请求体为:

{    "name": "张三",    "age": 18}

登录后复制

使用PUT请求来更新用户信息,请求体为:

{    "id": 1,    "name": "李四",    "age": 20}

登录后复制

使用DELETE请求来删除用户信息,URL为:

http://localhost:8080/user/1

登录后复制登录后复制

使用GET请求来获取用户信息,URL为:

http://localhost:8080/user/1

登录后复制登录后复制

使用GET请求来获取所有用户信息,URL为:

http://localhost:8080/user/

登录后复制

六、总结

本文介绍了如何在Spring Boot中使用MyBatis实现数据访问和持久化,并使用了一个简单的示例来说明整个流程。MyBatis可以使得Java程序对数据库的操作变得更加高效和简洁,如果您需要在Spring Boot中实现对数据库的操作,可以考虑使用MyBatis。

以上就是Spring Boot中使用MyBatis实现数据访问和持久化的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2625152.html

(0)
上一篇 2025年3月7日 00:34:24
下一篇 2025年3月7日 00:34:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MyBatis框架常见问题及解决方案

    mybatis常见问题包含:1. 实体类属性与数据库字段不一致,解决方案为使用@column注解映射;2. 执行更新操作失败,需要配置update元素并检查sql语句;3. 查询结果映射出错,需检查resultmap配置是否正确;4. 解析…

    2025年4月2日
    100
  • MyBatis框架中设计模式的应用

    mybatis框架广泛应用设计模式,包括:工厂模式:创建sqlsessionfactory对象,管理数据库连接和查询;代理模式:实现延迟加载和懒加载,提高性能。外观模式:封装对数据库访问,简化代码维护。其中,一对多关系映射可以通过user和…

    2025年4月2日
    100
  • java框架中持久化中间件的技术比较

    java 持久化中间件技术比较:jdbc:可扩展且高效,但冗长且易出错。hibernate:易于使用,提供高级功能,但可能较慢。jpa:标准化,与 java ee 兼容,但配置限制较多。选择适合的技术取决于应用程序需求:jdbc 注重控制和…

    2025年4月2日
    100
  • Vue中如何实现数据的缓存和持久化

    Vue中如何实现数据的缓存和持久化 在Vue中,数据的缓存和持久化是一个常见的需求。缓存数据可以提高应用的性能,而持久化数据可以让用户在刷新页面或重新打开应用后依然能够看到之前保存的数据。下面将介绍如何通过一些常用的方法实现数据的缓存和持久…

    2025年3月13日
    200
  • Vue开发注意事项:如何处理数据缓存和持久化

    Vue开发注意事项:如何处理数据缓存和持久化 随着前端开发的不断发展,Vue作为一种流行的JavaScript框架,被广泛应用于各类Web应用程序的开发中。在Vue开发过程中,数据的缓存和持久化是一个常见的需求,尤其是对于需要在用户端进行数…

    2025年3月13日
    200
  • Webpack如何实现持久化缓存

    这次给大家带来Webpack如何实现持久化缓存,Webpack实现持久化缓存的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近在看 webpack 如何做持久化缓存的内容,发现其中还是有一些坑点的,正好有时间就将它们整理总结一下…

    编程技术 2025年3月8日
    200
  • 浅谈Webpack 持久化缓存实践

    这篇文章主要介绍了浅谈webpack 持久化缓存实践,现在分享给大家,也给大家做个参考。 前言 最近在看 webpack 如何做持久化缓存的内容,发现其中还是有一些坑点的,正好有时间就将它们整理总结一下,读完本文你大致能够明白: 什么是持久…

    编程技术 2025年3月8日
    200
  • mpvue中配置vuex并持久化到本地Storage图文教程解析

    这篇文章主要介绍了mpvue中配置vuex并持久化到本地storage的教程详解,# 配置vuex和在vue中相同,只是mpvue有一个坑,就是不能直接在new vue的时候传入store。本文分步骤给大家介绍的非常详细,需要的朋友参考下吧…

    2025年3月8日 编程技术
    200
  • 在Docker中如何开发Java 8 Spring Boot应用程序

    首先,让我们检查一下docker-compose文件: version : ‘2’services: springappserver:  build:   context: .    dockerfile: springapp.docker…

    编程技术 2025年3月7日
    300
  • SpringBoot Mybatis怎么配置文件

    开发环境: idea 2022.1.4+ mybatis 1. 概述         在之前BiliBili学习SprintBoot时候,按照视频敲代码,SpringBoot集成MyBatis,是单独写了一个mybatis-config.x…

    编程技术 2025年3月7日
    300

发表回复

登录后才能评论