Sqlite安装使用及springboot整合

SQLite介绍

什么是 SQLite

SQLite是一款非常轻量级的关系数据库系统,支持多数SQL92标准。它不需要单独安装,类似于一个文本文件,又可以放置在项目内作为持久化数据的内嵌式数据库使用。使用SQLite一般只需要带上一个dll,就可以使用它的全部功能。

SQLite应用场景

存储手机App应用、小型的Web项目或者桌面应用的持久化数据

SQLite安装

Windows安装 SQLite

1.官网下载地址: https://www.sqlite.org/download.html

2.下载如下两个压缩文件(根据系统不同下载文件略有差别)

Sqlite安装使用及springboot整合

3.创建文件夹 D:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到以下文件

Sqlite安装使用及springboot整合

4.将sqlite安装地址配置为环境变量:我的电脑右击->属性->高级系统设置->高级->环境变量->Path->编辑->新建->[你的安装目录]->ok,新建完毕后任一地址执行sqlite命令可进入命令行

Linux 安装SQLite

1.使用下面的命令来检查您的机器上是否已经安装了SQLite


user@naviproc1:~$ sqlite

Command 'sqlite' not found, but can be installed with:

sudo apt install sqlite

2.如未安装则使用命令安装,安装完毕进入敲sqlite3命令进入sqlite命令行

user@naviproc1:~$ sudo apt install sqlite3
user@naviproc1:~$ sqlite3
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.

Connected to a transient in-memory database.

Use ".open FILENAME" to reopen on a persistent database.

sqlite>

3.使用【.quit】或【.exit】命令退出sqlite3控制界面

数据库表创建测试

1.在数据库文件存放地址新建test.db(test为数据库名),例如在d:/project/db/新建test.db文件

Sqlite安装使用及springboot整合

2.打开数据库文件,打开的方式有两种:

第一种:先进入sqlite3 再打开文件

sqlite> .open d:/project/db/test.db

第二种:直接打开文件

C:\Windows\system32>sqlite3 d:/project/db/test.db

3.执行建表语句,并插入部分测试数据

DROP TABLE IF EXISTS "user";
CREATE TABLE "user" (
  "uid" text(36) NOT NULL,
  "name" TEXT,
  "sex" integer,
  "email" TEXT,
  PRIMARY KEY ("uid")
);

4.数据插入完毕后可执行查询语句

sqlite> select * from user;
700|jQsuV|1|
74|zgIvN|1|
648|fLhFT|1|
561|AycmK|1|
436|TnPxs|1|

5.结果显示正常则SQLite安装完成

SpringBoot 整合 Sqlite3

1.pom.xml引入所需jar包

        <dependency>
            <groupid>p6spy</groupid>
            <artifactid>p6spy</artifactid>
            <version>3.8.7</version>
        </dependency>
        <dependency>
            <groupid>org.projectlombok</groupid>
            <artifactid>lombok</artifactid>
            <optional>true</optional>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
        <dependency>
            <groupid>org.xerial</groupid>
            <artifactid>sqlite-jdbc</artifactid>
            <version>3.28.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
        <dependency>
            <groupid>com.baomidou</groupid>
            <artifactid>mybatis-plus-boot-starter</artifactid>
            <version>3.2.0</version>
        </dependency>

        <!--mybatis plus-->
        <dependency>
            <groupid>com.baomidou</groupid>
            <artifactid>mybatis-plus-generator</artifactid>
            <version>3.2.0</version>
        </dependency>

2.application.yml配置数据库连接

server:
  port: 8089
spring:
  datasource:
    url: jdbc:p6spy:sqlite:D:\project\db\test.db
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    username:
    password:

3.数据库表和实体类的对应;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName
public class User {
    @TableId
    private String uid;
    private String name;
    private Integer sex;
    private String email;
    /*
    * &#x6570;&#x636E;&#x5E93;&#x4E0D;&#x5B58;&#x5728;&#x7684;&#x5B57;&#x6BB5;
    * */
    @TableField(exist = false)
    private String nickName;
}

4.mapper接口,继承BaseMapper即可

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.demo.sqlite.pojo.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<user> {
}</user>

5.在启动类上加上扫描mapper文件夹的注解,以防找不到mapper映射

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.demo.sqlite.mapper")
@SpringBootApplication
public class SqliteApplication {

    public static void main(String[] args) {
        SpringApplication.run(SqliteApplication.class, args);
    }

}

6.接口访问实现基本功能

package com.demo.sqlite.controller;

import java.util.List;
import java.util.Map;
import java.util.Random;

import com.demo.sqlite.mapper.UserMapper;
import com.demo.sqlite.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import javax.annotation.Resource;

@RequestMapping("/index")
@RestController
public class IndexController {

    @Resource
    private UserMapper userMapper;

    /**
     * &#x83B7;&#x53D6;&#x6240;&#x6709;&#x6570;&#x636E;
     * @return
     */
    @GetMapping
    public Object index(){
        return userMapper.selectList(null);
    }

    /**
     * &#x65B0;&#x589E;
     * @return
     */
    @GetMapping("/insert")
    public Object insert(){
        User user = new User();
        user.setName(randomString());
        Random random = new Random();
        user.setUid("" + random.nextInt(1000));
        user.setSex(1);
        return userMapper.insert(user);
    }

    /**
     * &#x83B7;&#x53D6;&#x603B;&#x6570;
     * @return
     */
    @GetMapping("/count")
    public Object index1(){
        Integer userCount = userMapper.selectCount(null);
        return userCount;
    }

    /**
     * &#x83B7;&#x53D6;&#x4E00;&#x4E2A;list&#x96C6;&#x5408;
     * &#x6392;&#x5E8F; orderByAsc("order_id")
     * &#x4E0D;&#x4E3A;null&#x7684;&#x5224;&#x65AD; isNotNull("stove_code")
     * &#x5206;&#x7EC4; groupBy("product_model")
     * @return
     */
    @GetMapping("/male")
    public Object index2(){
        List<user> users = userMapper.selectList(new QueryWrapper<user>().eq("sex", 1));
        return users;
    }

    /**
     * &#x83B7;&#x53D6;&#x4E00;&#x4E2A;map&#x96C6;&#x5408;
     * @return
     */
    @GetMapping("/map")
    public Object index3(){
        List<map<string,object>> users = userMapper.selectMaps(new QueryWrapper<user>()
                .select("uid,name")
                .eq("sex", 1));
        return users;
    }

    /**
     * &#x968F;&#x673A;&#x751F;&#x6210;&#x5B57;&#x6BCD;
     * @return
     */
    public String randomString(){
        StringBuilder s = new StringBuilder(5);
        Random random = new Random();
        for( int i = 0; i < 5; i ++) {
            int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; // &#x53D6;&#x5F97;&#x5927;&#x5199;&#x8FD8;&#x662F;&#x5C0F;&#x5199;
            s.append((char)(choice + random.nextInt(26)));
        }
        return s.toString();
    }
}
</user></map<string,object></user></user>

参考链接:

https://www.jianshu.com/p/8462e5fa34c3

SQLite 安装与使用_IT小郭.的博客-CSDN博客_sqlite安装

Original: https://blog.csdn.net/weixin_44737839/article/details/126264558
Author: Fran~
Title: Sqlite安装使用及springboot整合

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815081/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球