Spring Boot+MyBatis+SQLite配置例子参考下面

创建新项目

项目类型务必选择箭头指定的类型,否则不会自动生成代码模版

增加依赖项

junit

junit

4.13.1

test

org.xerial

sqlite-jdbc

3.32.3.2

org.mybatis

mybatis

3.5.6

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

junit

junit

4.13.1

test

org.xerial

sqlite-jdbc

3.32.3.2

org.mybatis

mybatis

3.5.6

如下图:

根据下图中的指示创建如下的几个文件

文件中的具体源代码如下:

DemoMapper.java

Java

package com.example.demo.mapper;

import com.example.demo.model.DemoModel;

import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper

public interface DemoMapper {

// 插入 并查询id 赋给传入的对象

@Insert("INSERT INTO tb_test(key, value) VALUES(#{key}, #{value})")

@SelectKey(statement = "SELECT seq id FROM sqlite_sequence WHERE (name = 'tb_test')", before = false, keyProperty = "id", resultType = int.class)

int insert(DemoModel model);

// 根据 ID 查询

@Select("SELECT * FROM tb_test WHERE id=#{id}")

DemoModel select(int id);

// 查询全部

@Select("SELECT * FROM tb_test")

List selectAll();

// 更新 value

@Update("UPDATE tb_test SET value=#{value} WHERE id=#{id}")

int updateValue(DemoModel model);

// 根据 ID 删除

@Delete("DELETE FROM tb_test WHERE id=#{id}")

int delete(Integer id);

int existTable(String tableName);

int dropTable(@Param("tableName") String tableName);

int createNewTable(@Param("tableName") String tableName);

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

packagecom.example.demo.mapper;

importcom.example.demo.model.DemoModel;

importorg.apache.ibatis.annotations.*;

importjava.util.List;

@Mapper

publicinterfaceDemoMapper{

// 插入 并查询id 赋给传入的对象

@Insert("INSERT INTO tb_test(key, value) VALUES(#{key}, #{value})")

@SelectKey(statement="SELECT seq id FROM sqlite_sequence WHERE (name = 'tb_test')",before=false,keyProperty="id",resultType=int.class)

intinsert(DemoModelmodel);

// 根据 ID 查询

@Select("SELECT * FROM tb_test WHERE id=#{id}")

DemoModelselect(intid);

// 查询全部

@Select("SELECT * FROM tb_test")

ListselectAll();

// 更新 value

@Update("UPDATE tb_test SET value=#{value} WHERE id=#{id}")

intupdateValue(DemoModelmodel);

// 根据 ID 删除

@Delete("DELETE FROM tb_test WHERE id=#{id}")

intdelete(Integerid);

intexistTable(StringtableName);

intdropTable(@Param("tableName")StringtableName);

intcreateNewTable(@Param("tableName")StringtableName);

}

DemoModel.java

Java

package com.example.demo.model;

public class DemoModel {

private Integer id;

private String key;

private String value;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

packagecom.example.demo.model;

publicclassDemoModel{

privateIntegerid;

privateStringkey;

privateStringvalue;

publicIntegergetId(){

returnid;

}

publicvoidsetId(Integerid){

this.id=id;

}

publicStringgetKey(){

returnkey;

}

publicvoidsetKey(Stringkey){

this.key=key;

}

publicStringgetValue(){

returnvalue;

}

publicvoidsetValue(Stringvalue){

this.value=value;

}

}

Mapper.xml

XHTML

/p>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

select count(*)

from information_schema.TABLES

where LCASE(table_name)=#{tableName}

DROP TABLE IF EXISTS ${tableName}

CREATE TABLE IF NOT EXISTS ${tableName} (

id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,

key VARCHAR(20),

value VARCHAR(255)

)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/p>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

select count(*)

from information_schema.TABLES

where LCASE(table_name)=#{tableName}

DROP TABLE IF EXISTS ${tableName}

CREATE TABLE IF NOT EXISTS ${tableName} (

id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,

key VARCHAR(20),

value VARCHAR(255)

)

mybatis-config.xml

XHTML

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

配置数据库以及驱动信息(数据库扩展名务必是.sqlite这样可以保证IntelliJ IDEA可以直接查看数据库内容):

application.properties

Vim

spring.datasource.driver-class-name=org.sqlite.JDBC

spring.datasource.url=jdbc:sqlite:sample.sqlite

spring.datasource.username=

spring.datasource.password=

1

2

3

4

spring.datasource.driver-class-name=org.sqlite.JDBC

spring.datasource.url=jdbc:sqlite:sample.sqlite

spring.datasource.username=

spring.datasource.password=

测试代码如下:

DemoApplicationTests.java

Java

package com.example.demo;

import com.example.demo.mapper.DemoMapper;

import com.example.demo.model.DemoModel;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import org.junit.Assert;

import org.junit.jupiter.api.Test;

import org.springframework.boot.test.context.SpringBootTest;

import java.io.Reader;

import java.util.List;

@SpringBootTest

class DemoApplicationTests {

@Test

void contextLoads() throws Exception {

String resource = "mybatis-config.xml";//配置文件

Reader reader = Resources.getResourceAsReader(resource);

SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

SqlSessionFactory sqlMapper = builder.build(reader);

//设置为true 自动提交事务

SqlSession sqlSession = sqlMapper.openSession();

reader.close();//关闭读取流

DemoMapper mapper = sqlSession.getMapper(DemoMapper.class);//获取Mapper

mapper.createNewTable("tb_test");

List list = mapper.selectAll();//获取结果

sqlSession.close();

Assert.assertEquals(list.size(), 0);

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

packagecom.example.demo;

importcom.example.demo.mapper.DemoMapper;

importcom.example.demo.model.DemoModel;

importorg.apache.ibatis.io.Resources;

importorg.apache.ibatis.session.SqlSession;

importorg.apache.ibatis.session.SqlSessionFactory;

importorg.apache.ibatis.session.SqlSessionFactoryBuilder;

importorg.junit.Assert;

importorg.junit.jupiter.api.Test;

importorg.springframework.boot.test.context.SpringBootTest;

importjava.io.Reader;

importjava.util.List;

@SpringBootTest

classDemoApplicationTests{

@Test

voidcontextLoads()throwsException{

Stringresource="mybatis-config.xml";//配置文件

Readerreader=Resources.getResourceAsReader(resource);

SqlSessionFactoryBuilderbuilder=newSqlSessionFactoryBuilder();

SqlSessionFactorysqlMapper=builder.build(reader);

//设置为true 自动提交事务

SqlSessionsqlSession=sqlMapper.openSession();

reader.close();//关闭读取流

DemoMappermapper=sqlSession.getMapper(DemoMapper.class);//获取Mapper

mapper.createNewTable("tb_test");

Listlist=mapper.selectAll();//获取结果

sqlSession.close();

Assert.assertEquals(list.size(),0);

}

}

参考链接

java spring sqlite,Spring Boot+MyBatis+SQLite配置相关推荐

  1. java sqlite mybatis_Spring boot + Mybatis + SQLite 搭建blog API

    Spring boot + Mybatis + SQLite 搭建blog API 一.准备环境 二.创建一个SpringBoot项目 在此我就不再演示如何创建SpringBoot项目了,需要的请看[ ...

  2. druid 多数据源_Spring Boot + Mybatis 中 配置Druid多数据源并实现自由切换

    概述 前面我们已经介绍过了对MyBatis.Druid的整合,接下来我们在之前的基础上做扩展,实现对Druid多数据源的配置以及动态切换数据源. 问题:多数据源使用场景有哪些呢? 回答:在业务发展中, ...

  3. java | (三十一)MyBatis(1)配置、映射、缓存

    目录 配置MyBatis 基本配置 采用注解的方式映射sql 主要API生命周期 别名typeAliases environments配置 mappers SQL映射 select(带参数) sele ...

  4. SpringBoot实战系列1:Spring Boot+Mybatis+MySql实现增删改查

    前言 Spring boot项目目前是Java Web开发领域最受市场欢迎的Spring框架之一,也是构建分布式项目.微服务项目重要基础之一,Spring Boot免去了配置繁杂的依赖和配置,使得开发 ...

  5. 【Spring】Spring学习笔记完整篇

    文章目录 Spring 1.简介 优点 组成 弊端 2.IOC 控制反转 控制什么? 谁来控制? 反转? 依赖注入DI? IOC和DI关系 IOC本质 3.hello spring Applicati ...

  6. Spring Boot连接SQLite数据库

    本文记录Spring Boot连接单SQLite数据源和多SQLite数据源的一种配置方式. 单数据源 1.在pom.xml中添加相关依赖 <!-- sqlite --><depen ...

  7. Spring Boot MyBatis配置多种数据库

    mybatis-config.xml是支持配置多种数据库的,本文将介绍在Spring Boot中使用配置类来配置. 1. 配置application.yml # mybatis配置 mybatis:c ...

  8. java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security

    鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台. 分布式.微服务.云架构电子商务平台 java ...

  9. spring boot +mybatis(通过properties配置) 集成

    注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取 ...

最新文章

  1. Android --- 刚刚进入 Activity 页面的时候无法打开对话框,报错 Unable to add window -- token null is not valid; is your
  2. 设计模式(一)————策略模式(张三的故事??)
  3. python按章节分割txt_python爬虫,爬取小说
  4. ios 静态库合成_iOS : 静态库(.framework)合并
  5. mysql 表损坏_MYSQL数据表损坏的原因分析和修复方法小结(推荐)
  6. 大道至简 爱上Metro
  7. Python程序-生成回文
  8. Linux设备驱动开发入门之——hello驱动
  9. 报税远程服务器返回错误,紧急 | 增值税申报失败,调用系统服务出错,怎么办?...
  10. ​杭州,苏州,成都哪个最宜居?
  11. sqlite3:sqlite3_column 函数
  12. 英语写作——常用的 过度词-连接词
  13. 九九乘法表 - Java (矩形、正三角形、倒三角形)
  14. 原神3.0上半角色活动祈愿-2源码
  15. python读取大文件csv_python 快速把超大txt文件转存为csv的实例
  16. 【C语言】字符个数统计 笔试常见题型
  17. 计算机用户被停用,Win10电脑中Administrator账户被停用如何解决
  18. 如何把生活过程升级打怪?
  19. C++(学习) —— Vector容器,类的静态成员的使用练习(Singer类)
  20. 【在Windows7旗舰版下安装Anaconda报错failed to create menus】

热门文章

  1. ROS学习笔记(十一):roscore与roslaunch的区别
  2. Java文件下载,Java通用文件下载,Java文件下载中文乱码
  3. Oracle 18c更新TIMEZONE版本
  4. 基于android的停车场管理系统,基于Android的智能停车场的制作方法
  5. 软件测试面试题:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组?
  6. Linux入门(2)——Linux下的文件管理
  7. 性能测试环境如何搭建?我来告诉你
  8. android最新v7包下载,android-support-v7-recyclerview的jar包
  9. 如何禁用 USB 存储设备
  10. 超级马里奥源代码_任天堂源代码泄露事件再升级 多款经典游戏中招