详解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方式”的攻略了。

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

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

相关文章

  • jQuery在html有效在jsp无效的原因及解决方法

    针对“jQuery在html有效在jsp无效的原因及解决方法”的问题,以下是详细的攻略: 1. 原因分析 在html中使用jQuery可能无任何问题,但是当在JSP中使用jQuery时,经常会出现无法正常使用jQuery的问题。这是由于JSP与HTML的渲染过程不同所导致的。在JSP中,当我们将jQuery文件作为静态文件引入时,由于JSP需要解析,所以在进…

    Java 2023年6月15日
    00
  • 一文搞懂Spring Security异常处理机制

    一文搞懂 Spring Security 异常处理机制 什么是 Spring Security 异常处理机制 Spring Security 异常处理机制是用于处理应用程序中出现的异常情况。当应用程序在处理安全性方面的问题时,Spring Security 可能会生成一些异常。这些异常表明了一些问题,例如未经验证的用户试图访问受保护的资源等等。 Spring…

    Java 2023年5月20日
    00
  • Java对象的初始化过程是什么?

    Java对象的初始化过程是指在创建对象时,为对象的属性分配内存空间并对其进行初始化的过程。具体流程如下: 为对象分配空间 在Java中,所有的对象都是在堆内存中分配空间。在使用new关键字创建对象的时候,JVM首先会检查该类是否已被加载,如果没有被加载则先加载该类,并为该对象分配所需的内存空间。 对属性进行默认初始化 在对象创建后,JVM会为对象的所有属性分…

    Java 2023年5月11日
    00
  • springboot 集成dubbo的步骤详解

    下面是关于“Spring Boot集成Dubbo的步骤详解”的完整攻略,包含了以下内容: 环境搭建 引入依赖 编写Dubbo服务接口和实现类 配置Dubbo的服务提供者和消费者 演示实例 环境搭建 在开始前必须确定以下工具: 使用Java 1.8或以上版本 下载并安装ZooKeeper 下载Dubbo 引入依赖 使用Maven管理依赖,导入以下依赖: &lt…

    Java 2023年5月19日
    00
  • Struts 2中的constant配置详解

    这里是关于“Struts 2中的constant配置详解”的完整攻略。 什么是constant配置 在Struts 2中,constant指的是可以用来定义一些全局静态变量的配置参数。这些参数可以应用到整个Struts 2应用程序中,并可以通过调用常量值从配置文件中获取。 常见的constant配置 1. struts.enable.DynamicMetho…

    Java 2023年5月20日
    00
  • 关于Java垃圾回收开销降低的几条建议

    关于Java垃圾回收开销降低的几条建议 背景 在Java程序运行时,垃圾回收器自动地回收未被引用的内存,以免Java运行时内存不足。然而,频繁的垃圾回收和内存分配会增加系统的开销。因此,为了降低Java垃圾回收开销,我们可以采取以下几个建议: 建议一:减少内存分配 内存分配是Java运行时系统的开销之一。我们可以采取以下方法来减少内存分配: String处理…

    Java 2023年5月27日
    00
  • Java常用类库Apache Commons工具类说明及使用实例详解

    Java常用类库Apache Commons工具类说明及使用实例详解 什么是Apache Commons Apache Commons是一个旨在提供高质量、可重用的Java组件的项目。它由许多不同的子项目组成,提供了很多常用的工具类、数据结构和算法等功能。 常用的Apache Commons子项目 Apache Commons项目包含很多子项目,下面列举一些…

    Java 2023年5月19日
    00
  • maven项目打jar包并包含所有依赖详细教程

    下面为你详细讲解如何利用Maven项目打包成Jar并包含所有依赖的详细教程。 一、前提条件 在进行下面的操作前,请确保你的开发环境中已经安装了Maven,并且已经正确配置了Maven的环境变量。 二、maven打包命令 在Maven项目的根目录下运行以下命令: mvn clean package 此命令将在target目录下生成一个Jar包文件。当然,也可以…

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