当前位置: 首页 > news >正文

使用Mybatis-Plus,以及sqlite的使用

文章目录

    • 目标
    • MybatisPlus是什么
    • 在原有的项目基础上使用MybatisPlus
      • 替换依赖
      • 替换配置文件
      • 修改entity
      • 修改mapper
      • 修改service
      • 修改controller
    • 将h2数据库换位sqlite
      • 更换依赖
      • 修改配置文件
      • 修改schema.sql
      • 测试正常
    • 总结

目标

  • 在原有的项目基础上使用MybatisPlus
  • 将h2数据库换位sqlite

MybatisPlus是什么

  • MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
  • 只做增强不做改变:引入它不会对现有 MyBatis 工程产生影响
  • 简化开发:只需简单配置,即可快速进行单表 CRUD 操作
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅通过少量配置即可实现单表大部分 CRUD 操作
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器)
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作

在原有的项目基础上使用MybatisPlus

替换依赖

将mybatis的依赖替换为mybatis-plus的依赖,替换代码如下:

<!--<dependency>-->
<!--    <groupId>org.mybatis.spring.boot</groupId>-->
<!--    <artifactId>mybatis-spring-boot-starter</artifactId>-->
<!--    <version>2.3.1</version>-->
<!--</dependency>--><!-- MyBatis-Plus Starter -->
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version>
</dependency>

替换配置文件

在yml中将mybatis的配置替换为mybatis-plus的配置,替换代码如下:

#mybatis:
#  mapper-locations: classpath:mapper/*.xml
#  type-aliases-package: com.xbdx.demo111.entitymybatis-plus:configuration:# 日志实现log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 驼峰命名转换map-underscore-to-camel-case: trueglobal-config:db-config:# 主键类型id-type: auto# 逻辑删除配置logic-delete-field: deletedlogic-delete-value: 1logic-not-delete-value: 0# mapper.xml 文件位置mapper-locations: classpath*:/mapper/**/*.xml

修改entity

在类前面加入表名,指明操作哪张表

@TableName("users")

修改mapper

在类名后面添加需要继承的BaseMapper,并且传入泛型User

 extends BaseMapper<User>

修改service

在接口的类名后面添加需要继承的IService,并且传入泛型User

 extends IService<User>

在实现类的类名后面添加需要继承的ServiceImpl,并且传入泛型UserMapper, User

 extends ServiceImpl<UserMapper, User>

修改controller

在类中加入如下方法,传入一个已经存在数据的id

@GetMapping("/getOne")
public void getOne() {User user = userService.getById(2);System.out.println("单个用户查询成功");System.out.println(user.getName() + " " + user.getAge());
}

我们在浏览器输入/getOne路径,查看结果

在这里插入图片描述

将h2数据库换位sqlite

更换依赖

将h2的依赖替换为sqlite的依赖,替换代码如下:

<!--<dependency>-->
<!--      <groupId>com.h2database</groupId>-->
<!--      <artifactId>h2</artifactId>-->
<!--      <version>2.1.214</version>-->
<!--</dependency>--><!-- SQLite JDBC 驱动 -->
<dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.32.3.2</version>
</dependency>

修改配置文件

将h2的配置替换为sqlite的配置,注释h2控制台配置,替换代码如下:

#  datasource:
#    url: jdbc:h2:file:D:/aaa/testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MySQL
#    username: sa
#    password:
#    driver-class-name: org.h2.Driverdatasource:url: jdbc:sqlite:test.dbdriver-class-name: org.sqlite.JDBCusername:password:sql:init:mode: alwaysschema-locations: classpath:schema.sql#  # H2 控制台配置(开发环境启用)
#  h2:
#    console:
#      enabled: true
#      path: /h2-console

修改schema.sql

有一些细微的差别需要修改,不然会报错,替换代码如下:

-- CREATE TABLE IF NOT EXISTS users (
--     id INT PRIMARY KEY AUTO_INCREMENT,
--     name VARCHAR(50),
--     age INT
-- );CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(50),age INTEGER
);

测试正常

经过测试,展示结果一模一样,没有任何变化,说明数据库更改成功。

总结

本文主要说明了如何在原有的项目上,加入mybatis-plus,以及将原来数据库进行更换,原来的数据库为h2数据库。

http://www.dtcms.com/a/469501.html

相关文章:

  • 一元一次方程的解
  • 自然语言处理中字节级与令牌级 Transformer 模型的对比分析
  • Android 编译速度优化:JVM堆内存扩充
  • 网站如何减少404跳转网站建设外包工作室
  • vue的hello小案例
  • SDL+WebGpu跨平台加速学习笔记
  • 第16章 C预处理器和C库
  • Vue-31-通过flask接口提供的数据使用plotly.js绘图(三)
  • vue前端面试题——记录一次面试当中遇到的题(5)
  • 90设计网站最便宜终身中小企业的网站建设
  • 杭州高端网站设计公司如何制作淘宝客网站
  • 微服务拆分以及注册中心
  • 遗留系统微服务改造(五):监控体系建设与指标收集
  • Java微服务面试实战:从电商场景看微服务架构设计与实现
  • (微服务)Dubbo 服务调用
  • Java微服务实战:从零搭建电商用户服务系统
  • Spring Cloud微服务SaaS智慧工地项目管理平台源码
  • MySQL常用API
  • DDD企业级记账软件实战二|从0-1创建用户微服务和记账微服务基于Spring Cloud
  • 昆明建设银行纪念币预约网站网站顶一下代码
  • 深入浅出 C# MVC:从基础实践到避坑指南(附完整代码示例)
  • 【网络】NAT相关知识;NAT的概念、工作机制、防火墙(Netfilter)的作用时间点;
  • JavaEE初级——Thread多线程
  • GJOI 10.9 题解
  • 如何设计一个架构良好的前端请求库?
  • 精灵图(雪碧图)的生成和使用
  • Web 开发 27
  • 网站制作主要公司学校网站开发系统的背景
  • Linux小课堂: 目录操作命令深度解析(LS 与 CD 命令)
  • 面向财经新闻的文本挖掘系统设计与实现(论文)