欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot整合SQLite數(shù)據(jù)庫(kù)全過(guò)程

 更新時(shí)間:2023年03月14日 09:28:41   作者:小百菜  
sqlite是一個(gè)很輕量級(jí)的數(shù)據(jù)庫(kù),可以滿足日常sql的需求,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合SQLite數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

SQLite是一個(gè)進(jìn)程內(nèi)的庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的 SQL 數(shù)據(jù)庫(kù)引擎。它是一個(gè)零配置的數(shù)據(jù)庫(kù),這意味著與其他數(shù)據(jù)庫(kù)不一樣,您不需要在系統(tǒng)中配置。

就像其他數(shù)據(jù)庫(kù),SQLite 引擎不是一個(gè)獨(dú)立的進(jìn)程,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動(dòng)態(tài)連接。SQLite 直接訪問(wèn)其存儲(chǔ)文件。

功能特性

  1. ACID事務(wù)
  2. 零配置 – 無(wú)需安裝和管理配置
  3. 儲(chǔ)存在單一磁盤文件中的一個(gè)完整的數(shù)據(jù)庫(kù)
  4. 數(shù)據(jù)庫(kù)文件可以在不同字節(jié)順序的機(jī)器間自由的共享
  5. 支持?jǐn)?shù)據(jù)庫(kù)大小至2TB
  6. 足夠小, 大致13萬(wàn)行C代碼, 4.43M
  7. 比一些流行的數(shù)據(jù)庫(kù)在大部分普通數(shù)據(jù)庫(kù)操作要快
  8. 簡(jiǎn)單, 輕松的API
  9. 包含TCL綁定, 同時(shí)通過(guò)Wrapper支持其他語(yǔ)言的綁定
  10. 良好注釋的源代碼, 并且有著90%以上的測(cè)試覆蓋率
  11. 獨(dú)立: 沒(méi)有額外依賴
  12. 源碼完全的開(kāi)源, 你可以用于任何用途, 包括出售它
  13. 支持多種開(kāi)發(fā)語(yǔ)言,C, C++, PHP, Perl, Java, C#,Python, Ruby等

1、pom.xml

    <dependencies>
        <!--web應(yīng)用基本環(huán)境配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--sqlite-->
        <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
        </dependency>
        <!-- jdbc -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
    </dependencies>

2、application.properties

 SQLite只需要關(guān)聯(lián)一個(gè).db文件,就能實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接操作。  

spring.datasource.driver-class-name=org.sqlite.JDBC
#絕對(duì)位置配置方式
#spring.datasource.url=jdbc:sqlite:E:/db/test.db
#相對(duì)位置配置方式
spring.datasource.url=jdbc:sqlite::resource:db/test.db

在如下位置,手動(dòng)創(chuàng)建一個(gè) test.db 空文件

3、測(cè)試代碼

    @Autowired
    private JdbcTemplate jdbcTemplate;
        // 1、建表 DDL
        String createUser = "create table user(" +
                "id integer primary key autoincrement," +
                "name varchar(20)," +
                "age integer" +
                ")";
        jdbcTemplate.update(createUser);
        // 2、插入數(shù)據(jù)
        String insertUserData = "insert into user(name,age) values ('張三',18),('李四',20)";
        jdbcTemplate.update(insertUserData);
        // 3、查詢語(yǔ)句
        String selectUserData = "select * from user";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(selectUserData);
        for (Map<String, Object> map : list) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                System.out.println(entry.getKey() + "=" + entry.getValue());
            }
        }
        // 5、刪除整張表
        String dropTable = "drop table user";
        jdbcTemplate.update(dropTable);

完整測(cè)試代碼

package com.study.myweb;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
 
import java.util.List;
import java.util.Map;
 
 
@SpringBootApplication
public class MyWebApplication implements CommandLineRunner {
 
    @Autowired
    private JdbcTemplate jdbcTemplate;
 
    public static void main(String[] args) {
        SpringApplication.run(MyWebApplication.class, args);
    }
 
    @Override
    public void run(String... args) throws Exception {
        // 1、建表 DDL
        String createUser = "create table user(" +
                "id integer primary key autoincrement," +
                "name varchar(20)," +
                "age integer" +
                ")";
        jdbcTemplate.update(createUser);
        // 2、插入數(shù)據(jù)
        String insertUserData = "insert into user(name,age) values ('張三',18),('李四',20)";
        jdbcTemplate.update(insertUserData);
        // 3、查詢語(yǔ)句
        String selectUserData = "select * from user";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(selectUserData);
        for (Map<String, Object> map : list) {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                System.out.println(entry.getKey() + "=" + entry.getValue());
            }
        }
        // 4、刪除整張表
        String dropTable = "drop table user";
        jdbcTemplate.update(dropTable);
    }
 
}

總結(jié)

到此這篇關(guān)于SpringBoot整合SQLite數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)SpringBoot整合SQLite內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計(jì)模式的策略模式簡(jiǎn)析

    Java設(shè)計(jì)模式的策略模式簡(jiǎn)析

    這篇文章主要介紹了Java設(shè)計(jì)模式的策略模式簡(jiǎn)析,策略模式中定義了一系列的算法族,算法族指的是類似于一系列的行為、策略,策略模式將一系列的行為封裝成類,既可以說(shuō)是將每一種相類似的行為都封裝成一個(gè)類,也有可能存在特殊的不進(jìn)行封裝的行為,需要的朋友可以參考下
    2023-12-12
  • java實(shí)現(xiàn)簡(jiǎn)單解析XML文件功能示例

    java實(shí)現(xiàn)簡(jiǎn)單解析XML文件功能示例

    這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單解析XML文件功能,結(jié)合實(shí)例形式分析了java針對(duì)xml文件的讀取、遍歷節(jié)點(diǎn)及輸出等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • SpringBoot整合Redisson的步驟(單機(jī)版)

    SpringBoot整合Redisson的步驟(單機(jī)版)

    Redisson非常適用于分布式鎖,而我們的一項(xiàng)業(yè)務(wù)需要考慮分布式鎖這個(gè)應(yīng)用場(chǎng)景,于是我整合它做一個(gè)初步簡(jiǎn)單的例子(和整合redis一樣)。
    2021-05-05
  • Spring?Boot?集成并開(kāi)發(fā)?Sa-token示例詳解

    Spring?Boot?集成并開(kāi)發(fā)?Sa-token示例詳解

    Sa-token是一款高可用的權(quán)限認(rèn)證框架,他帶我們用最簡(jiǎn)化的配置完成用?spring?security?需要進(jìn)行大量配置的才能完成的工作,這篇文章主要介紹了Spring?Boot?集成并開(kāi)發(fā)?Sa-token,需要的朋友可以參考下
    2023-06-06
  • springboot 定時(shí)任務(wù)@Scheduled實(shí)現(xiàn)解析

    springboot 定時(shí)任務(wù)@Scheduled實(shí)現(xiàn)解析

    這篇文章主要介紹了springboot 定時(shí)任務(wù)@Scheduled實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 我用java實(shí)現(xiàn)了王者榮耀的皮膚和英雄技能

    我用java實(shí)現(xiàn)了王者榮耀的皮膚和英雄技能

    上篇文章主要實(shí)現(xiàn)了創(chuàng)建英雄,創(chuàng)建野怪,創(chuàng)建裝備.并且實(shí)現(xiàn)了簡(jiǎn)單的刷怪,購(gòu)買裝備等.本篇文章我優(yōu)化了我的操作界面,并且實(shí)現(xiàn)了英雄技能,英雄皮膚等,需要的朋友可以參考下
    2021-05-05
  • 如何將復(fù)雜SQL轉(zhuǎn)換成Java對(duì)象的實(shí)例講解

    如何將復(fù)雜SQL轉(zhuǎn)換成Java對(duì)象的實(shí)例講解

    轉(zhuǎn)換復(fù)雜SQL到Java代碼,我們需要確定數(shù)據(jù)庫(kù)連接方式和工具,使用JDBC的API來(lái)連接數(shù)據(jù)庫(kù)、執(zhí)行SQL語(yǔ)句,復(fù)雜SQL語(yǔ)句可以被拆分為多個(gè)步驟,每個(gè)步驟執(zhí)行一個(gè)特定的操作,通過(guò)將SQL語(yǔ)句拆分為多個(gè)步驟,我們可以更好地理解復(fù)雜SQL的邏輯,并且更容易將其轉(zhuǎn)換為Java代碼
    2024-05-05
  • Mybatis返回Map對(duì)象的實(shí)現(xiàn)

    Mybatis返回Map對(duì)象的實(shí)現(xiàn)

    本文介紹了Mybatis和MybatisPlus在查詢數(shù)據(jù)庫(kù)時(shí)返回Map對(duì)象的多種實(shí)現(xiàn)方式,這些方法有助于優(yōu)化DAO層代碼,使其更加清晰和高效,下面就來(lái)具體介紹一下,感興趣的可以了解一下
    2024-09-09
  • Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的解析

    Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的解析

    MyBatis 本是apache的一個(gè)開(kāi)源項(xiàng)目iBatis, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis。這篇文章主要介紹了Mybatis高級(jí)映射、動(dòng)態(tài)SQL及獲得自增主鍵的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Java中JSON字符串進(jìn)行各種轉(zhuǎn)換的方法小結(jié)

    Java中JSON字符串進(jìn)行各種轉(zhuǎn)換的方法小結(jié)

    Gson和Hutool的JSONUtil都是常用的用于處理JSON數(shù)據(jù)的工具庫(kù),它們提供了簡(jiǎn)單易用的API來(lái)進(jìn)行JSON字符串的解析、轉(zhuǎn)換和操作,下面就跟隨小編一起學(xué)習(xí)一下如果使用他們實(shí)現(xiàn)JSON字符串的各種轉(zhuǎn)換吧
    2024-01-01

最新評(píng)論