首页 > 其他分享 >springboot[4]_配置mybatis

springboot[4]_配置mybatis

时间:2024-08-23 09:17:10浏览次数:7  
标签:Animal springboot 配置 insertOne id animal mybatis public name

在springboot中使用mybatis

1. 建表

在test库中,建立一张animal表,并存入三条数据。

CREATE TABLE `test`.`animal`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
INSERT INTO `test`.`animal`(`id`, `name`) VALUES (1, 'dog');
INSERT INTO `test`.`animal`(`id`, `name`) VALUES (2, 'cat');
INSERT INTO `test`.`animal`(`id`, `name`) VALUES (3, 'pig');

2. 导入依赖

导入mybatis 和 mysql 依赖,因为springboot有指定mysql的版本,所以我就没写版本。

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

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

3. yml配置

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

4. entity,mapper和service

AnimalMapper: (注解方式,当然也可以使用xml配置)

@Mapper
public interface AnimalMapper {
    @Select("select * from animal")
    List<Animal> selectAll();

    @Select("select * from animal where id = #{id}")
    Animal selectByKey(Integer id);

    /**
     * 因为是自增id,所有加上@Options注解
     */
    @Insert("insert into animal(`id`,`name`) values (#{id}, #{name}) ")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insertOne(Animal animal);
}

IAnimal:

public interface IAnimal {
    /**
     * 查找所有
     */
    List<Animal> selectAll();

    /**
     * 按主键查找
     */
    Animal selectByKey(Integer id);

    /**
     * 添加一个元素
     */
    void insertOne(Animal animal);
}

AnimalImpl

@Service
public class AnimalImpl implements IAnimal {
    @Resource
    private AnimalMapper animalMapper;

    @Override
    public List<Animal> selectAll() {
        return animalMapper.selectAll();
    }

    @Override
    public Animal selectByKey(Integer id) {
        return animalMapper.selectByKey(id);
    }

    @Override
    public void insertOne(Animal animal) {
        animalMapper.insertOne(animal);
    }
}

Animal:

public class Animal {
    private Integer id;

    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

5. 控制层

AnimalController

@RestController
public class AnimalController {
    @Resource
    private IAnimal iAnimal;

    @GetMapping("/getAll")
    public List<Animal> getAll() {
        return iAnimal.selectAll();
    }

    @GetMapping("/getOne")
    public Animal getOne(@RequestParam("id") Integer id) {
        return iAnimal.selectByKey(id);
    }

    @PostMapping("/insertOne")
    public void insertOne(@RequestBody Animal animal) {
        iAnimal.insertOne(animal);
    }
}

6. 测试

  • 查所有数据

查所有

  • 条件查询

查一个

  • 新增数据

动画2

标签:Animal,springboot,配置,insertOne,id,animal,mybatis,public,name
From: https://www.cnblogs.com/Aeons/p/18375217

相关文章

  • 浅谈Java MyBatis
    一、MyBatis的基本介绍  MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,由谷歌托管,并且改名为MyBatis。2013年11月迁移到Github。    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。......
  • 基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。资源下载:基于Springboot的智能菜谱推荐系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven来......
  • Springboot实战——黑马点评之缓存
    Springboot黑马点评——缓存1缓存初识与简单实现1.1根据商铺id的缓存查询基础缓存实现:考虑到有数据会同时存在于数据库和缓存中,所以:Q:数据库和缓存的数据一致性问题?A:三种缓存更新策略用来解决一致性问题1.2缓存更新策略的选择第一种:内存淘汰第二种:超时剔除第三......
  • 达梦读写分离集群的配置与测试
    操作系统版本CentOS7.6数据库版本DM8_20240712数据守护集群版本V4.0目录1.环境准备2.dm_svc.conf配置3.实现原理4.测试1.环境准备        配置读写分离集群,需要先搭建即时归档或实时归档模式的主备集群。我们使用上篇文档《在一台主机上搭建达梦主备集群......
  • 【App Service】在App Service中配置Virtual applications and directories,访问目录中
    问题描述在AppServiceWindows的环境中,想一个AppServices下部署多个站点,比如/根目录下,从wwwroot中读取项目文件,而/files则通过配置的虚拟目录来读取\mounts\sitefiles目录中的静态文件。在AppService的 ConfigurationPathMapping中配置如下:通过Kudu查看AppService......
  • 基于Springboot+vue的学生网上请假系统
    文章底部获取项目源码联系方式【万字文档+源码】基于Springboot+vue的学生网上请假系统-可用于毕设-课程设计-练手学习1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管......
  • 【Windows Server2016下Oracle11g DG配置实操步骤】
    WindowsServer2016下Oracle11gDG配置实操步骤文章目录WindowsServer2016下Oracle11gDG配置实操步骤前言一、部署规划1.1、虚拟机搭建:1.2、环境规划:1.3、主库操作系统配置1.4、数据库安装和实例创建1.5、监听配置1.6、网络配置1.7、克隆虚拟机二、主库配置2.1、查看......
  • 2024年8月【最新】《黑神话:悟空》【电脑配置要求】黑神话 悟空 电脑配置【推荐】
    (本人经核验测评后推荐二、三、四配置)目录:一、最低配置:(官方发布)二、普通配置:三、高端配置:四、豪华配置: 正文:一、最低配置:(官方发布)1、CPU:因特尔i58400或AMDRyzen516002、内存:16G3、显卡:GTX1060缓存6G或AMDRX5808G4、硬盘:130G(固态)(安装后大小128G)(忽略)......
  • 使用Jaspyt对配置文件密码保护
    1、添加依赖<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version></dependency>......
  • 使用uvm_config_db 分层Testbench配置
    前言 对于刚接触验证方法或正在采用uvm的工程师,本文重点介绍uvm配置机制"uvm_config_db",它有助于在分层测试台组件之间传递不同的类属性。通过使用示例,本文解释了uvm_config_db的用法、技术和局限性。介绍 为满足当今验证架构的需求,有必要对组件进行分层设置,以便在不......