应公司要求完成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整合项目的更多相关文章

  1. SSM(Spring,SpringMVC,Mybatis)框架整合项目

    快速上手SSM(Spring,SpringMVC,Mybatis)框架整合项目 环境要求: IDEA MySQL 8.0.25 Tomcat 9 Maven 3.6 数据库环境: 创建一个存放书籍数据 ...

  2. 搭建springboot的ssm(spring + springmvc + mybatis)的maven项目

    最终项目目录结构 创建过程 1.创建开关SpringBootApplication 为了创建快速.我们使用idea自带的创建springboot来创建结构,当然创建普通的web项目也是可以的.(使用e ...

  3. SpingBoot myBatis neo4j整合项目案例

    此项目为spring boot - myBatis - neo4j数据库整合项目. 有增删改查(节点关系).动态分页条件排序等一些示例. git下载地址:git clone https://githu ...

  4. Spring Boot 鉴权之—— springboot2.0.4+mybatis 整合的完整用例

    自上一篇文章的基础上,Spring Boot 鉴权之—— JWT 鉴权我做了一波springboot2.0.4+mybatis 的整合. 参考文章: Spring Boot+Spring Securi ...

  5. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源

    这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...

  6. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  7. springboot + mybatis + mycat整合

    1.mycat服务 搭建mycat服务并启动,windows安装参照. 系列文章: [Mycat 简介] [Mycat 配置文件server.xml] [Mycat 配置文件schema.xml] [ ...

  8. SpringBoot与SpringDateJPA和Mybatis的整合

    一.SpringBoot与SpringDateJPA的整合 1-1.需求 查询数据库---->得到数据------>展示到页面上 1-2.整合步骤 1-2-1.创建SpringBoot工程 ...

  9. SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作

    SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` ) NOT ...

  10. SpringBoot系列(五)Mybatis整合完整详细版

    SpringBoot系列(五)Mybatis整合 目录 mybatis简介 项目创建 entity dao service serviceImpl mapper controller 1. Mybat ...

随机推荐

  1. Python应用与实践-转自(吴秦(Tyler))

    1.      Python是什么? 1.1.      Python语言 1.2.      Python哲学 2.      Python在工作中的应用 2.1.      实例1:文件批量处理 ...

  2. 11.14 mii-tool:管理网络接口的状态

    mii-tool命令用于查看.管理网络接口,默认情况下网卡的状态是自动协商的,但是有时也会出现不正常的情况,可以使用mii-tool进行调整. mii-tool [option] [interface ...

  3. struct位域

    1 总结下 结构体位域的使用 比如  则 struct _COM2 { u8 Len : 1;//低位 u8 EoN : 2; u8 Stop:1; u8 Bps:4;//高位 } union COM ...

  4. 重新整理 .net core 实践篇—————配置系统之间谍[八](文件监控)

    前言 前文提及到了当我们的配置文件修改了,那么从 configurationRoot 在此读取会读取到新的数据,本文进行扩展,并从源码方面简单介绍一下,下面内容和前面几节息息相关. 正文 先看一下,如 ...

  5. GO学习-(15) Go语言基础之包

    Go语言基础之包 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(packag ...

  6. selenium-元素无法定位解决办法

    selenium-元素无法定位解决办法   有时会出现元素定位失败的情况,以百度首页为例,定位输入框,报错如下: selenium.common.exceptions.NoSuchElementExc ...

  7. OneFlow 并行特色

    OneFlow 并行特色 在 Consistent 与 Mirrored 视角中,已经知道 OneFlow 提供了 mirrored 与 consistent 两种看待分布式系统的视角,并且提前知道了 ...

  8. 保姆级尚硅谷SpringCloud学习笔记(更新中)

    目录 前言 正文内容 001_课程说明 002_零基础微服务架构理论入门 微服务优缺点[^1] SpringCloud与微服务的关系 SpringCloud技术栈 003_第二季Boot和Cloud版 ...

  9. mybatis设置自动提交事务

    我们想要mybatis帮助我们自动提交事务其实很简单,只需要在SqlSessionFactory对象的openSession方法中设置参数为true就可以了,mybatis工具类如下: public ...

  10. Centos7 安装 Zabbix Server 4.0

    官方参考URL:https://www.zabbix.com/documentation/4.0/start 1. 安装 Apache 2.4(略) 注意系统时间/时区ntp server是否定时同步 ...