详解Spring Boot集成MyBatis(注解方式)

详解Spring Boot集成MyBatis(注解方式)

Spring Boot是一个快速创建Spring应用程序的框架,而MyBatis是一种使用XML或注解进行数据库操作的ORM框架。在Spring Boot集成MyBatis的过程中,我们可以采用注解方式进行配置,这样可以使代码更加简洁明了。下面就让我们来详细讲解Spring Boot集成MyBatis(注解方式)的完整攻略。

步骤一:添加依赖

在pom.xml文件中添加以下依赖:

<!--MyBatis依赖-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.3</version>
</dependency>
<!--MySQL依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

步骤二:配置数据源

在application.properties文件中配置数据源信息:

# 数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

步骤三:配置MyBatis

在MyBatisConfig类中进行MyBatis的配置,如下所示:

@Configuration
@MapperScan("com.example.demo.mapper")
public class MyBatisConfig {
    @Autowired
    private DataSource dataSource;

    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        return sqlSessionFactoryBean;
    }

    @Bean
    public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

步骤四:编写实体类和Mapper接口

在Spring Boot中,我们通常使用实体类和Mapper接口进行数据库操作。接下来,我们就要编写实体类和Mapper接口。

1. 编写实体类

编写User实体类,如下所示:

@Data
public class User {
    private int id;
    private String name;
    private String password;
}

2. 编写Mapper接口

编写UserMapper接口,如下所示:

@Mapper
public interface UserMapper {
    /**
     * 根据用户名查询用户信息
     * @param name
     * @return
     */
    @Select("SELECT * FROM user WHERE name = #{name}")
    User findByName(@Param("name") String name);

    /**
     * 添加用户信息
     * @param user
     * @return
     */
    @Insert("INSERT INTO user (name, password) VALUES (#{name}, #{password})")
    int addUser(User user);

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    @Update("UPDATE user SET password = #{password} WHERE name = #{name}")
    int updateUser(User user);

    /**
     * 删除用户信息
     * @param name
     * @return
     */
    @Delete("DELETE FROM user WHERE name = #{name}")
    int deleteUser(@Param("name") String name);
}

步骤五:测试

编写UserController类进行测试,如下所示:

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;

    /**
     * 根据用户名查询用户信息
     * @param name
     * @return
     */
    @GetMapping("/findByName")
    public User findByName(@RequestParam("name") String name) {
        return userMapper.findByName(name);
    }

    /**
     * 添加用户信息
     * @param user
     * @return
     */
    @PostMapping("/addUser")
    public int addUser(@RequestBody User user) {
        return userMapper.addUser(user);
    }

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    @PutMapping("/updateUser")
    public int updateUser(@RequestBody User user) {
        return userMapper.updateUser(user);
    }

    /**
     * 删除用户信息
     * @param name
     * @return
     */
    @DeleteMapping("/deleteUser")
    public int deleteUser(@RequestParam("name") String name) {
        return userMapper.deleteUser(name);
    }
}

启动应用程序,进行测试。

示例一:根据用户名查询用户信息

访问http://localhost:8080/findByName?name=张三,可以查询到用户信息。

示例二:添加用户信息

使用Postman发送POST请求,访问http://localhost:8080/addUser,添加用户信息。

请求体如下所示:

{
    "name": "李四",
    "password": "123456"
}

可以看到返回值为:1,表示添加成功。

示例三:更新用户信息

使用Postman发送PUT请求,访问http://localhost:8080/updateUser,更新用户信息。

请求体如下所示:

{
    "name": "李四",
    "password": "654321"
}

可以看到返回值为:1,表示更新成功。

示例四:删除用户信息

使用Postman发送DELETE请求,访问http://localhost:8080/deleteUser,删除用户信息。

请求参数如下所示:

{
    "name": "李四"
}

可以看到返回值为:1,表示删除成功。

至此,Spring Boot集成MyBatis(注解方式)的完整攻略就讲解完毕了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Spring Boot集成MyBatis(注解方式) - Python技术站

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

相关文章

  • Java 从网上下载文件的几种方式实例代码详解

    Java 从网上下载文件的几种方式实例代码详解 在Java编程中,有时候需要从网上下载文件,比如下载图片、音频、视频等资源文件。本文将详细讲解Java 从网上下载文件的几种方式,希望可以帮助大家实现这个需求。 1.使用URL类下载文件 使用URL类可以轻松地实现从网上下载文件。实现的过程如下: public static void downloadFile(…

    Java 2023年5月19日
    00
  • table中点击表头实现排序的功能示例介绍

    实现table中点击表头实现排序的功能是一个常见的需求,通过JavaScript和jQuery实现非常方便。下面是具体的步骤和代码示例。 1. HTML结构 首先需要在HTML中定义一个table,并将需要进行排序的数据展示在其中。其中,包括表头和表身两个部分。示例代码如下: <table id="myTable"> <…

    Java 2023年6月15日
    00
  • SSH框架网上商城项目第27战之申请域名空间和项目部署及发布

    针对这个主题,我为您提供完整的SSH框架网上商城项目第27战之申请域名空间和项目部署及发布的攻略,具体步骤如下: 一、申请域名和空间 1. 选择合适的空间服务提供商 互联网上有很多提供空间租用服务的供应商,可以根据需求选择一家合适的提供商,这里以腾讯云为例。 2. 注册和申请域名 在腾讯云注册账号后,可以进入域名注册页面,输入需要注册的域名,如果该域名未被注…

    Java 2023年6月2日
    00
  • Java中判断字符串是否相等的实现

    下面是“Java中判断字符串是否相等的实现”的完整攻略。 一、Java中字符串的比较 Java中字符串比较的基本原理是比较字符串的内容是否相等。由于String类型是一个final类,所以String对象在被创建后就不能再被修改了,因此在Java当中比较两个字符串的时候,不能使用”==”运算符。应该使用equals()方法或equalsIgnoreCase(…

    Java 2023年5月26日
    00
  • Java开发者就业需要掌握的9大专业技能

    关于Java开发者就业需要掌握的9大专业技能,我们可以从以下几点展开讲解: 1. Java基础知识 Java基础知识是Java开发者必须掌握的基础技能之一。包括基本的语法、面向对象的特性、集合框架、异常处理、多线程等。只有深入理解Java语言的基本机制,才能为后续的高级知识打下牢固的基础。 示例:如何实现一个简单的Java程序?请编写一个Hello Worl…

    Java 2023年5月20日
    00
  • MyEclipse代码提示设置包括html和jsp的代码

    MyEclipse是一款常用的Java开发工具,具有强大的代码提示和自动补全功能,对于提高编程效率十分有帮助。而要完整地设置代码提示,包括HTML和JSP的代码,也并不是一件困难的事情。下面我将为大家介绍详细的设置步骤,包括两个实际的示例。 设置HTML代码提示 在MyEclipse中,设置HTML代码提示需要按照以下步骤进行: 打开MyEclipse软件,…

    Java 2023年6月15日
    00
  • Spring mvc工作原理_动力节点Java学院整理

    Spring MVC工作原理 Spring MVC是一种流行的 Java Web 应用程序开发框架,它基于模型-视图-控制器(MVC)设计模式来构建 Web 应用程序。其工作原理如下: 请求的处理流程 客户端向服务器发送HTTP请求,请求到达服务器后,首先到达前端控制器Front Controller。 Front Controller将请求传递给处理器处理…

    Java 2023年6月15日
    00
  • Java笔记(15) Collection集合–>List集合

    集合的理解和好处数组一旦定义,长度即固定,不能修改。要添加新元素需要新建数组,然后循环拷贝,非常麻烦 集合可以动态保存任意多个对象,使用比较方便 提供饿了一系列方便的操作对象的方法:add、remove、set、get等 使用集合添加、删除新元素的示意代码,简洁明了 集合主要是两组(单列集合,双列集合)Collection 接口有两个重要的子接口,List …

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