首页 > 数据库 >Springboot + Mybatis Plus整合Sqlite3

Springboot + Mybatis Plus整合Sqlite3

时间:2024-06-11 11:59:54浏览次数:15  
标签:SQLite name userMapper sqlite Sqlite3 Plus user Mybatis public

什么是Sqlite3

sqlite3是一个进程内的库,实现了自给自足、无服务器、零配置、事务性的SQL数据库引擎。它是一个增长最快的数据库引擎。它不是一个独立的进程,可以按应用程序需求进行静态或动态连接,SQLite直接访问其存储文件。

为什么要使用Sqlite3

  • 不需要一个单独的服务器进程或操作的系统(无服务器的)。
  • SQLite 不需要配置,这意味着不需要安装或管理。
  • 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
  • SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
  • SQLite 是自给自足的,这意味着不需要任何外部的依赖。
  • SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
  • SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
  • SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)Windows(Win32, WinCE, WinRT)中运行。

在SpringBoot项目中使用Sqlite3

引入依赖包

<!-- sqlite3驱动包 -->
<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.44.1.0</version>
</dependency>
<!--mybatis-plus插件-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3.1</version>
</dependency>

application.yml配置

spring:
  datasource:
    driver-class-name: org.sqlite.JDBC
    url: jdbc:sqlite:C:\Users\28604\Desktop\sqlite\demo\src\main\resources\db\database1.db
    # url: jdbc:sqlite::resource:db/database1.db   #此方式为相对路径写法,必须放到resource目录下
    username:
    password:
logging:
  level:
    com.example.demo.domain.mapper: DEBUG

创建实体类

@Data
public class User {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String name;
}

创建UserMapper映射类

@Mapper
public interface UserMapper extends BaseMapper<User> {}  // 结合mybatis plus 

创建Controller测试类

@RestController
public class TestController {
    @Autowired
    UserMapper userMapper;
    /** 增添数据 */
    @PostMapping("/insert")
    public Object insert(String name) {
        User user = new User();
        user.setName(name);
        return userMapper.insert(user);
    }
    /** 查询数据 */
    @GetMapping("/show")
    public Object show() {
        return userMapper.selectList(null);
    }
    /** 删除数据 */
    @DeleteMapping("/delete")
    public Object delete(Integer id) {
        return userMapper.deleteById(id);
    }
    /** 修改数据 */
    @PutMapping("update")
    public Object update(Integer id, String name) {
        User user = new User();
        user.setId(id);
        user.setName(name);
        return userMapper.updateById(user);
    }
}

测试,成功插入并查询到数据

坑点

在生产环境中使用sqlite的时候数据库路径必须是绝对路径,因为最后会打包成jar包,jar是一个压缩包,数据文件不可修改,如果用相对路径的数据库文件的话重启服务会发现数据会被清空。

标签:SQLite,name,userMapper,sqlite,Sqlite3,Plus,user,Mybatis,public
From: https://blog.csdn.net/2301_76788095/article/details/139574047

相关文章

  • MyBatisX插件逆向工程和SQL生成使用
    1.MyBatisX插件逆向工程将表映射成实体类在IDEA中装好MyBatisX插件并连接数据库后,对咬映射成实体类的表点击鼠标右键,如下图所示:之后会弹出如下界面:然后根据如图信息进行配置,点击next。如果使用的是MyBatis-Plus3直接按照下图选项即可:至此结束逆向工程将表映射成实体类。......
  • spring和mybatis中的连接池和缓存
    目录十、连接池10.1连接池10.2、mybatis连接池的分类十一、mybatis的缓存一级缓存和二级缓存使用一级缓存失效的四种情况:11.1、不同的SqlSession对应不同的一级缓存。11.2、MyBatis的二级缓存二级缓存开启的条件:11、3二级缓存的相关配置11.4、mybatis缓存查询的顺序11.5整合第三方......
  • 【微服务】第3节:MybatisPlus的扩展功能
    目录1.扩展功能1.1.代码生成1.1.1.安装插件1.1.2.使用1.2.静态工具1.3.逻辑删除1.3.通用枚举1.3.1.定义枚举1.3.2.配置枚举处理器1.3.3.测试1.4.JSON类型处理器1.4.1.定义实体1.4.2.使用类型处理器1.5.配置加密(选学)1.5.1.生成秘钥1.5.2.修改配置1.5.3.测试......
  • MyBatis基础操作
    MyBatis是一款优秀的持久层框架,它允许我们直接使用SQL语句,并通过XML或注解的方式将SQL语句与Java对象进行映射。下面,我们将详细介绍使用XML方式实现MyBatis的几种基础操作:插入、删除、更新和查询。一.插入操作在MyBatis中,插入操作通常通过<insert>标签进行配......
  • Mybatis的查询功能
    MyBatis的各种查询功能如果查询出的数据只有一条,可以通过实体类对象接收List集合接收Map集合接收,如结果{password=123456,sex=男,id=1,age=23,username=admin}如果查询出的数据有多条,一定不能用实体类对象接收,会抛异常TooManyResultsException,可以通过实体类类型......
  • C++Primer Plus 第12章 类和动态内存分配 12.10编程练习第2题new,delete的指向深度拷
    系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:本章练习第2题涉及标准函数及关键词toupper,tolower(),strcpy_s(),strcat_s(),strcmp,strlen(),new[],delete[].实现如下效果输出应与下面相似:Pleaseenteryourname:FrettaFarboMynameis......
  • 2. Mybatis 入门程序
    1.Mybatis入门程序开发步骤1.1数据库表的创建准备数据库表:数据库:north_mybatis,汽车表t_car,字段包括:id:主键(自增)【bigint】car_num:汽车编号【varchar】brand:品牌【varchar】guide_price:厂家指导价【decimal类型,专门为财务数据准备的类型】produce_time:生产时间【cha......
  • 【简写Mybatis-02】注册机的实现以及SqlSession处理
    前言注意:学习源码一定一定不要太关注代码的编写,而是注意代码实现思想:通过设问方式来体现代码中的思想;方法:5W+1H源代码:https://gitee.com/xbhog/mybatis-xbhog;https://github.com/xbhog/mybatis-xbhog;交个朋友,有价值欢迎star。回顾&分析上一局实现Mapper接口和映射器通......
  • 1.Mybatis概述
    1.Mybatis历史MyBatis最初是Apache的一个开源项目iBatis,2010年6月这个项目由ApacheSoftwareFoundation迁移到了GoogleCode。随着开发团队转投GoogleCode旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源于“internet”和“abatis”的组......
  • C++Primer Plus 第12章 类和动态内存分配 12.10编程练习第1题new,delete的指向深度拷
    C++PrimerPlus第12章类和动态内存分配12.10编程练习第1题`提示:练习一定要动手操作涉及标准函数及关键词1,new[],delete[],strlen(),strcpy_s(),cout,endl,explicit例如:1,对于下面的类的声明:`提示:设计数组和字符串的new,delete文章目录C++PrimerPlus第12章类......