springboot下使用mybatis的方法

下面是详细的“springboot下使用mybatis的方法”的攻略:

1. 引入依赖

pom.xml文件中引入mybatis-spring-boot-starter依赖,如下:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

同时需要引入相应版本的mysql-connector-java依赖。

2. 配置application.yml

application.yml文件中配置数据库连接信息,示例如下:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

3. 配置Mybatis

application.yml文件中配置Mybatis信息,示例如下:

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.entity

其中,mapper-locations表示mapper文件的位置,type-aliases-package表示实体类的包名。

4. 创建Mapper

com.example.mapper包下创建Mapper接口,示例如下:

@Mapper
public interface UserMapper {
    List<User> getAllUsers();
}

其中,@Mapper注解表示该类是Mybatis的Mapper接口。

5. 编写Mapper对应的XML文件

resources/mapper目录下创建对应的mapper xml文件,例如UserMapper.xml,示例如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <resultMap id="userMap" type="com.example.entity.User">
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="age" column="age" />
    </resultMap>
    <select id="getAllUsers" resultMap="userMap">
        SELECT * FROM user;
    </select>
</mapper>

其中,namespace表示Mapper接口的全路径名,resultMap表示返回结果和实体类之间的映射关系,select表示查询语句。

6. 测试查询

在测试类中注入UserMapper,并调用getAllUsers方法,如下:

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
    @Autowired
    private UserMapper userMapper;

    @Test
    public void testGetAllUsers() {
        List<User> userList = userMapper.getAllUsers();
        for (User user : userList) {
            System.out.println(user.toString());
        }
    }
}

运行测试方法,查看输出结果。

以上就是使用Mybatis的完整攻略。

下面给出两个示例:

示例1:使用Mybatis查询单个用户

  1. 创建UserMapper
@Mapper
public interface UserMapper {
    User getUserById(int id);
}
  1. UserMapper.xml中添加查询语句:
<select id="getUserById" parameterType="int" resultMap="userMap">
    SELECT * FROM user WHERE id=#{id}
</select>
  1. 测试查询:
@Test
public void testGetUserById() {
    User user = userMapper.getUserById(1);
    System.out.println(user.toString());
}

示例2:使用Mybatis添加用户

  1. 创建UserMapper
@Mapper
public interface UserMapper {
    void insertUser(User user);
}
  1. UserMapper.xml中添加插入语句:
<insert id="insertUser" parameterType="com.example.entity.User">
    INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
  1. 测试添加:
@Test
public void testInsertUser() {
    User user = new User();
    user.setName("test");
    user.setAge(20);
    userMapper.insertUser(user);
}

以上是两个使用Mybatis的示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot下使用mybatis的方法 - Python技术站

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

相关文章

  • Spring源码:Bean生命周期(三)

    前言 在之前的文章中,我们已经对 bean 的准备工作进行了讲解,包括 bean 定义和 FactoryBean 判断等。在这个基础上,我们可以更加深入地理解 getBean 方法的实现逻辑,并在后续的学习中更好地掌握createBean 方法的实现细节。 getBean用法 讲解getBean方法之前,我们先来看看他有几种常见的用法: // 创建一个Spr…

    Java 2023年5月4日
    00
  • 在JavaScript中使用for循环的方法

    在 JavaScript 中,for 循环用于重复执行某些代码。for 循环通常用于遍历数组或对象,执行相同的代码多次。 基本格式为: for (初始值; 终止条件; 增量) { // 要执行的代码块 } 其中: 初始值:定义用于循环计数的变量,并设置初始值。 终止条件:定义循环运行条件,如果该条件为 true,则循环继续执行;如果为 false,则循环结束…

    Java 2023年5月26日
    00
  • 关于IDEA配置Hibernate中遇到的问题解决

    关于IDEA配置Hibernate中遇到的问题解决 在使用 IntelliJ IDEA 配置 Hibernate 时,可能会遇到一些问题,本攻略将详细讲解如何解决这些问题。在此之前,您需要确保已经完成了以下步骤: 安装 IntelliJ IDEA。 安装并配置好 Java 和 MySQL 等环境。 创建一个数据库,并在其中创建数据库表。 问题1:找不到 Hi…

    Java 2023年5月20日
    00
  • springboot如何关掉tomcat容器

    要关闭 Spring Boot 内嵌的 Tomcat 容器,我们可以通过修改 application.properties 或者 application.yml 文件来配置。下面是具体的步骤: 在 application.properties 文件中添加以下配置: server.shutdown=graceful 或在 application.yml 文件中…

    Java 2023年5月19日
    00
  • 详解Elastic Search搜索引擎在SpringBoot中的实践

    详解ElasticSearch搜索引擎在SpringBoot中的实践 ElasticSearch 是一个基于 Lucene 的搜索引擎,它提供了分布式、多租户、全文搜索等功能。在 Spring Boot 中,我们可以使用 Spring Data Elasticsearch 来集成 ElasticSearch,实现搜索功能。本文将详细介绍 ElasticSea…

    Java 2023年5月15日
    00
  • 浅谈Apache Maven ToolChains的使用

    浅谈 Apache Maven ToolChains 的使用 什么是 Maven ToolChains 在开发中使用 Maven 进行构建时,通常需要使用一些外部工具,例如 Java 编译器、Jar 打包工具等。而这些工具的版本可能会强制要求一些项目,则需要使用 ToolChains 机制。 ToolChains 可以用于解决以下问题: 在同一台电脑上管理多…

    Java 2023年5月20日
    00
  • Spring Security架构以及源码详析

    Spring Security架构以及源码详析 Spring Security是一个基于Spring框架的安全框架,可以为Spring应用程序提供身份认证和授权的安全利器。本文将详细介绍Spring Security的架构,并对源码进行分析,最后通过示例演示其应用。 架构 Spring Security的架构主要包括过滤器链和认证、授权两个核心模块。 过滤器…

    Java 2023年5月20日
    00
  • java小程序火锅店点餐系统

    Java小程序火锅店点餐系统攻略 1. 介绍 Java小程序火锅店点餐系统是一款基于Java语言和微信小程序开发的点餐系统。它具有用户注册、食品浏览、食品加入购物车、下单支付、交易查询等功能。通过小程序界面实现了用户的选购与交易过程,为用户提供了便捷的外卖服务。 2. 技术要点 前端框架:使用微信小程序原生组件和wxParse富文本解析插件,使界面风格简洁美…

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