详解springboot集成mybatis xml方式

接下来我将详细讲解关于“详解Spring Boot集成MyBatis XML方式”的攻略。

1. 添加相关依赖

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

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>2.0.0</version>
</dependency>

2. 添加相关配置

在application.properties中添加以下配置信息:

#MyBatis
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
# DataSource
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

3. 编写Mapper接口

可以在 src/main/java/com/example/demo/mapper 下添加 UserMapper.java 接口

@Mapper
public interface UserMapper {
    User getUserById(int id);
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
    List<User> getAllUser();
}

4. 编写Mapper.xml文件

可以在 src/main/resources/mapper/UserMapper.xml 文件下添加以下示例代码

<mapper namespace="com.example.demo.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="username" property="username" jdbcType="VARCHAR"/>
        <result column="password" property="password" jdbcType="VARCHAR"/>
    </resultMap>
    <select id="getUserById" resultMap="BaseResultMap">
        select id, username, password from user where id=#{id}
    </select>
    <select id="getAllUser" resultMap="BaseResultMap">
        select id, username, password from user
    </select>
    <insert id="addUser">
        insert into user(username, password) values(#{username}, #{password})
    </insert>
    <update id="updateUser">
        update user set username=#{username}, password=#{password} where id=#{id}
    </update>
    <delete id="deleteUser">
        delete from user where id=#{id}
    </delete>
</mapper>

5. 编写Service层和Controller层

现在可以在 src/main/java/com/example/demo/service 下添加 UserService.java接口文件和 UserServiceImpl.java 实现类文件,代码如下:

public interface UserService {
    List<User> getAllUser();
    User getUserById(int id);
    void addUser(User user);
    void updateUser(User user);
    void deleteUser(int id);
}
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> getAllUser() {
        return userMapper.getAllUser();
    }

    @Override
    public User getUserById(int id) {
        return userMapper.getUserById(id);
    }

    @Override
    public void addUser(User user) {
        userMapper.addUser(user);
    }

    @Override
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    @Override
    public void deleteUser(int id) {
        userMapper.deleteUser(id);
    }
}

src/main/java/com/example/demo/controller 下添加 UserController.java 文件,代码如下:

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

    @Autowired
    private UserService userService;

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

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

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

    @PutMapping("/")
    public void updateUser(@RequestBody User user) {
        userService.updateUser(user);
    }

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

}

6. 启动Spring Boot

最后,启动Spring Boot应用程序,程序会自动扫描 UserMapper.xml 文件并将所有的Mapper映射至Mybatis框架中,从而实现对数据库的操作。

以上就是关于“详解Spring Boot集成MyBatis XML方式”的攻略了。

阅读剩余 71%

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

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

相关文章

  • 什么是内存溢出?

    以下是关于内存溢出的完整使用攻略: 什么是内存溢出? 内存溢出是指程序在申请内存时,没有足够的内存空间可供使用,导致程序无法正常运行。内存溢出是一种常见的程序错误,如果不及时处理,会导致程序崩溃或者系统崩溃。 以下是一个 C++ 中内存溢出的示例: void func() { *p = new int[1000000000000]; do something…

    Java 2023年5月12日
    00
  • JavaWeb实现学生信息管理系统(3)

    好的。首先, “JavaWeb实现学生信息管理系统(3)” 是一篇关于使用JavaWeb技术实现学生信息管理系统的文章。在这篇文章中,作者主要介绍了如何使用JavaWeb技术完成学生信息管理系统的前端页面展示和后端数据交互处理。 以下是该文章的完整攻略: 第一步:设计数据库 首先,我们需要设计数据库的结构,确定需要存储哪些信息以及它们之间的关系。可以使用My…

    Java 2023年5月23日
    00
  • Windows 下修改Tomcat jvm参数的方法

    完整攻略:Windows下修改Tomcat jvm参数的方法 1. 概述 Tomcat是一个非常常用的Java Web应用服务器,我们可以通过修改Tomcat的jvm参数来进行性能优化或解决一些启动或运行时遇到的问题。本文将介绍在Windows环境下如何修改Tomcat的jvm参数的方法和注意事项。 2. 修改方法 2.1 直接在命令行中设置jvm参数 我们…

    Java 2023年6月2日
    00
  • 深入了解Java中的Filter过滤器

    本文将深入讲解Java中的Filter过滤器。其中,我们会首先介绍Filter在Java Web开发中的应用场景和基本原理,之后我们会逐步讲解过滤器的使用方法和注意事项,最后以两个实例说明Filter的具体使用。让我们开始吧! 一、什么是Filter过滤器 在Java Web开发中,Servlet是最重要的组件之一,主要负责处理HTTP请求。但是,我们在开发…

    Java 2023年5月31日
    00
  • java中注解机制及其原理的详解

    以下是关于“Java中注解机制及其原理的详解”的攻略: 什么是注解(Annotation)? 在Java中,注解是一种附加在代码中的元信息,是Java语言的一种特殊数据类型。它可以在编译、运行时被读取,并能够在不影响代码运行的情况下被修改。注解通常可以用来为程序添加额外的说明或标记。 Java中的注解结构 Java中的注解由Java语言规范所定义的注解、注解…

    Java 2023年5月26日
    00
  • Java Stream的基本概念以及创建方法

    Java Stream是在Java 8中引入的一种全新的API,它主要用于处理集合类数据(数组、List、Set等)并支持函数式编程,提供流式操作的方法,使得操作简洁高效。本文将从Java Stream的基本概念和创建方法两个方面,为大家介绍Java Stream的使用技巧。 基本概念 流 Java Stream 是数据渠道,用于操作数据源(例如:集合、数组…

    Java 2023年5月26日
    00
  • Java SpringBoot的相关知识点详解

    Java Spring Boot 的相关知识点详解 一、什么是 Spring Boot? Spring Boot 是一个基于 Spring 框架的快速 Web 应用开发工具,它能够快速构建可部署的、独立的、生产级别的应用程序。相对于传统的 Spring 框架,Spring Boot 更加轻量级,具有更好的开发效率。 二、Spring Boot 的优势和功能 …

    Java 2023年5月15日
    00
  • vue cli3.0结合echarts3.0与地图的使用方法示例

    下面是关于“vue cli 3.0结合echarts 3.0与地图的使用方法示例”的完整攻略。 步骤一:创建基于vue-cli3.0的工程 Vue CLI是一个基于vue.js的全新工具,用于快速构建vue.js项目,它提供了:node命令行交互工具、快速原型开发、自动代码规范检测、构建和部署功能等。 详细步骤: 确保你已经安装了Node.js,命令行输入n…

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