SpringBoot:Sqlite3+SpringBoot2.1.3+Mybatis-Puls整合项目
应公司要求完成sqlite3数据库的增改查小功能,特此记录一下。
1.建造项目
结构如下

因为是提供给前端调用所以做了接口。
2.Pom依赖文件
下面是这个项目所依赖的jar包。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <!-- 统一管理jar包版本 -->
<properties>
<java.version>12</java.version>
<mybatis.spring.boot.version>2.0.0</mybatis.spring.boot.version>
<sqlite.jdbc.version>3.27.2.1</sqlite.jdbc.version>
</properties> <dependencies>
<!-- SpringBoot基础包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- sqlite3驱动包 -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>${sqlite.jdbc.version}</version>
</dependency>
<!-- Springboot兼容Mybatis版本 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.version}</version>
</dependency>
<!-- mybatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.6</version>
</dependency>
<!-- 阿里FastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.73</version>
</dependency>
</dependencies> <!-- SpringBoot兼容maven打包工具 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
3.application.yml配置文件
//当数据库目录位于 resources/sqlite/dome.db 时 DriverManager.getConnection("jdbc:sqlite::resource:sqlite/dome.db");即配置文件应该写jdbc:sqlite::resource:sqlite/dome.db
#端口
server:
port: 8190 #spring
spring:
datasource:
#sqlite3驱动
driver-class-name: org.sqlite.JDBC
# 方式一: 引用外部文件
# url: jdbc:sqlite:D:/eclipse/dome.db
#方式二: 引用项目中的文件
url: jdbc:sqlite::resource:sqlite/dome.db
username:
password: # sql打印
logging:
level: debug
level.com.xuanyin: debug
path: logs/
# file: admin.log
4.java实体类
接下来是java各个实体类。
DomeController.java
package com.java.common.controller; import com.alibaba.fastjson.JSONObject;
import com.java.common.entity.Dome;
import com.java.common.service.DomeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; @RestController
public class DomeController {
private static final Logger logger = LoggerFactory.getLogger(DomeController.class); @Autowired
DomeService domeService; @RequestMapping("/select")
@ResponseBody
public String getSelect(@RequestParam("title")String title){
Dome dome = new Dome();
logger.info(" = = = title : {} = = = ",title);
if(title != null){
dome = domeService.selectData(title);
if(dome != null){
String json = JSONObject.toJSONString(dome);
logger.info(" = = = json : {} = = = ",json);
return json;
}
}
return "主题字段为空!";
} @RequestMapping("/insert")
@ResponseBody
public String getInsert(@RequestBody Dome dome){
int result = 0;
logger.info(" = = = dome : {} = = = ", JSONObject.toJSONString(dome));
if(dome != null) {
result = domeService.insertData(dome);
logger.info(" = = = result : {} = = = ", result);
}
if(result > 0){
return "添加成功!!";
}
return "添加失败!!";
} @RequestMapping("/update")
@ResponseBody
public String getUpdate(@RequestBody Dome dome){
int result = 0;
logger.info(" = = = dome : {} = = = ", JSONObject.toJSONString(dome));
if(dome != null){
result = domeService.updateData(dome);
logger.info(" = = = result : {} = = = ", result);
}
if(result > 0){
return "修改成功!!";
}
return "修改失败!!";
}
}
Dome.java
package com.java.common.entity; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; @TableName("dome")
public class Dome { //主键
@TableId("domeId")
private Integer domeId; //主题
private String title; //内容
private String content; //分类
private String type; public Integer getDomeId() {
return domeId;
} public void setDomeId(Integer domeId) {
this.domeId = domeId;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getContent() {
return content;
} public void setContent(String content) {
this.content = content;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
}
}
DomeMapper.java
package com.java.common.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java.common.entity.Dome;
import org.apache.ibatis.annotations.Mapper; @Mapper
public interface DomeMapper extends BaseMapper<Dome> { }
DomeService.java
package com.java.common.service; import com.baomidou.mybatisplus.extension.service.IService;
import com.java.common.entity.Dome; public interface DomeService extends IService<Dome> { //查询
Dome selectData(String title); //添加
int insertData(Dome dome); //修改
int updateData(Dome dome); }
DomeServiceImpl.java
package com.java.common.service.impl; import com.baomidou.mybatisplus.core.conditions.query.EmptyWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.java.common.entity.Dome;
import com.java.common.mapper.DomeMapper;
import com.java.common.service.DomeService;
import org.springframework.stereotype.Service; import java.util.Date; @Service
public class DomeServiceImpl extends ServiceImpl<DomeMapper, Dome> implements DomeService { @Override
public Dome selectData(String title) {
QueryWrapper<Dome> domeWrapper = new QueryWrapper<>();
domeWrapper.eq("title", title);
Dome dome = baseMapper.selectOne(domeWrapper);
return dome;
} @Override
public int insertData(Dome dome) {
String str = String.valueOf(new Date().getTime());
int domeId = Integer.valueOf(str.substring(5,str.length()));
dome.setDomeId(domeId);
int result = baseMapper.insert(dome);
return result;
} @Override
public int updateData(Dome dome) {
UpdateWrapper<Dome> domeWrapper = new UpdateWrapper<>();
domeWrapper.eq("title", dome.getTitle());
int result = baseMapper.update(dome,domeWrapper);
return result;
}
}
DomeApplication.java
package com.java.common; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class DomeApplication {
private final static Logger logger = LoggerFactory.getLogger(DomeApplication.class); public static void main(String[] args) {
logger.info(" = = = 服务开始启动 = = = ");
SpringApplication.run(DomeApplication.class,args);
logger.info(" = = = 服务启动完成 = = = ");
} }
5.sqlite3数据库文件
参照 https://www.cnblogs.com/nhdlb/p/14292248.html 文章自行创建。
SpringBoot:Sqlite3+SpringBoot2.1.3+Mybatis-Puls整合项目的更多相关文章
- SSM(Spring,SpringMVC,Mybatis)框架整合项目
快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...
- 搭建springboot的ssm(spring + springmvc + mybatis)的maven项目
最终项目目录结构 创建过程 1.创建开关SpringBootApplication 为了创建快速.我们使用idea自带的创建springboot来创建结构,当然创建普通的web项目也是可以的.(使用e ...
- SpingBoot myBatis neo4j整合项目案例
此项目为spring boot - myBatis - neo4j数据库整合项目. 有增删改查(节点关系).动态分页条件排序等一些示例. git下载地址:git clone https://githu ...
- Spring Boot 鉴权之—— springboot2.0.4+mybatis 整合的完整用例
自上一篇文章的基础上,Spring Boot 鉴权之—— JWT 鉴权我做了一波springboot2.0.4+mybatis 的整合. 参考文章: Spring Boot+Spring Securi ...
- SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源
这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...
- SpringBoot+SpringMVC+MyBatis快速整合搭建
作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...
- springboot + mybatis + mycat整合
1.mycat服务 搭建mycat服务并启动,windows安装参照. 系列文章: [Mycat 简介] [Mycat 配置文件server.xml] [Mycat 配置文件schema.xml] [ ...
- SpringBoot与SpringDateJPA和Mybatis的整合
一.SpringBoot与SpringDateJPA的整合 1-1.需求 查询数据库---->得到数据------>展示到页面上 1-2.整合步骤 1-2-1.创建SpringBoot工程 ...
- SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作
SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` ) NOT ...
- SpringBoot系列(五)Mybatis整合完整详细版
SpringBoot系列(五)Mybatis整合 目录 mybatis简介 项目创建 entity dao service serviceImpl mapper controller 1. Mybat ...
随机推荐
- DOS 命令大全用法详解
注意事项 DOS命令不区分大小写,比如C盘的Program Files,在dos命令中完全可以用"program files"代替,加上英文引号是因为名称的中间有空格(即多于一个词 ...
- visual studio code 快捷键-(转自 浅笑千寻)
Visual Studio Code之常备快捷键 官方快捷键大全:https://code.visualstudio.com/docs/customization/keybindings Visual ...
- 9.13-15 runlevel & init & service
runlevel:输出当前运行级别 runlevel命令用于输出当前Linux系统的运行级别. -quiet 不输出结果,用于通过返回值判断的场合 [root@cs6 ~]# runlevel N 3 ...
- 使用ONNX将模型转移至Caffe2和移动端
使用ONNX将模型转移至Caffe2和移动端 本文介绍如何使用 ONNX 将 PyTorch 中定义的模型转换为 ONNX 格式,然后将其加载到 Caffe2 中.一旦进入 Caffe2, 就可以运行 ...
- MinkowskiPooling池化(下)
MinkowskiPooling池化(下) MinkowskiPoolingTranspose class MinkowskiEngine.MinkowskiPoolingTranspose(kern ...
- NVIDIA GPU卷积网络的自动调谐
NVIDIA GPU卷积网络的自动调谐 针对特定设备和工作负载的自动调整对于获得最佳性能至关重要.这是关于如何为NVIDIA GPU调整整个卷积网络. NVIDIA GPU在TVM中的操作实现是以模板 ...
- java 全端开源 电商系统 springboot uniapp 小程序 前后端分离 高可用
Lilishop B2B2C商城系统 官方公众号 & 开源不易,如有帮助请点Star 所有jar包均可从maven中央仓库下载,无二次封装jar包,全端开源,无后门,无监控. 介绍 官网:ht ...
- halcon——缺陷检测常用方法总结(频域空间域结合)
摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是 ...
- 孟老板 ListAdapter封装, 告别Adapter代码 (上)
BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...
- spring IOC DI AOP MVC 事务, mybatis 源码解读
demo https://gitee.com/easybao/aop.git spring DI运行时序 AbstractApplicationContext类的 refresh()方法 1: pre ...