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 ...
随机推荐
- 如何在我的EC2实例状态更改时获取自定义电子邮件通知
具体详情,请参见: https://amazonaws-china.com/cn/premiumsupport/knowledge-center/ec2-email-instance-state-ch ...
- declaration may not appear after executable statement in block--转载
这个问题是在编译STM32的程序时遇到的,这个错误的原因是对于变量的声明不能放在可执行语句后面,必须在主函数开头声明变量.在程序中声明一个变量时,需要在可执行语句之前声明,否则会出现以上错误. 例: ...
- Linux 使用命令发送邮件
1.关闭本机的sendmail服务或者postfix服务 #执行下面的命令,关闭sendmail和postfix服务 #sendmial [root@db-backup ~]# service sen ...
- Centos7.3 进入救援模式,解决虚拟机开机引导只能看到一个横杠
问题描述:搭建在CAS服务器中的虚拟机开机后只能看到一个横杠,因为开发同事的一些操作使glibc库/lib64/libc.so.6软链接失效 1.libc.so.6 是c运行时库 glibc的软链接, ...
- jsoup select 选择器(Day_02)
"自己"这个东西是看不见的,撞上一些别的什么,反弹回来,才会了解"自己". 所以,跟很强的东西.可怕的东西.水准很高的东西相碰撞,然后才知道"自己&q ...
- urllib2连接超时设置
#urllib2设置超时 #获取网页的源码 def getHtml(url,i): if i > 2: return try: req = urllib2.Request(url) time.s ...
- 内部排序算法(交换排序,插入排序)注意点(C语言实现)
对于算法思想的理解可以参考下面的这个帖子,十大经典排序算法(动图演示) - 一像素 - 博客园,因为算法的逻辑和数学很像,相应的基础资料一般也能在网上找到,所以,本帖子这谈论一些重要的注意点,其他人讲 ...
- 情景剧:C/C++中的未定义行为(undefined behavior)
写在前面 本文尝试以情景剧的方式,轻松.直观地解释C/C++中未定义行为(undefined behavior)的概念.设计动机.优缺点等内容1,希望读者能够通过阅读本文,对undefined beh ...
- iOS视频硬编码技术
iOS视频硬编码技术 一.iOS视频采集硬编码 基本原理 硬编码 & 软编码 硬编码:通过系统自带的Camera录制视频,实际上调用的是底层的高清编码硬件模块,即显卡,不使用CPU,速度快 软 ...
- SpringBoot系列——cache缓存
前言 日常开发中,缓存是解决数据库压力的一种方案,通常用于频繁查询的数据,例如新闻中的热点新闻,本文记录springboot中使用cache缓存. 官方文档介绍:https://docs.spring ...