应公司要求完成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. DOS 命令大全用法详解

    注意事项 DOS命令不区分大小写,比如C盘的Program Files,在dos命令中完全可以用"program files"代替,加上英文引号是因为名称的中间有空格(即多于一个词 ...

  2. visual studio code 快捷键-(转自 浅笑千寻)

    Visual Studio Code之常备快捷键 官方快捷键大全:https://code.visualstudio.com/docs/customization/keybindings Visual ...

  3. 9.13-15 runlevel & init & service

    runlevel:输出当前运行级别 runlevel命令用于输出当前Linux系统的运行级别. -quiet 不输出结果,用于通过返回值判断的场合 [root@cs6 ~]# runlevel N 3 ...

  4. 使用ONNX将模型转移至Caffe2和移动端

    使用ONNX将模型转移至Caffe2和移动端 本文介绍如何使用 ONNX 将 PyTorch 中定义的模型转换为 ONNX 格式,然后将其加载到 Caffe2 中.一旦进入 Caffe2, 就可以运行 ...

  5. MinkowskiPooling池化(下)

    MinkowskiPooling池化(下) MinkowskiPoolingTranspose class MinkowskiEngine.MinkowskiPoolingTranspose(kern ...

  6. NVIDIA GPU卷积网络的自动调谐

    NVIDIA GPU卷积网络的自动调谐 针对特定设备和工作负载的自动调整对于获得最佳性能至关重要.这是关于如何为NVIDIA GPU调整整个卷积网络. NVIDIA GPU在TVM中的操作实现是以模板 ...

  7. java 全端开源 电商系统 springboot uniapp 小程序 前后端分离 高可用

    Lilishop B2B2C商城系统 官方公众号 & 开源不易,如有帮助请点Star 所有jar包均可从maven中央仓库下载,无二次封装jar包,全端开源,无后门,无监控. 介绍 官网:ht ...

  8. halcon——缺陷检测常用方法总结(频域空间域结合)

    摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是 ...

  9. 孟老板 ListAdapter封装, 告别Adapter代码 (上)

    BaseAdapter封装(一) 简单封装 BaseAdapter封装(二) Header,footer BaseAdapter封装(三) 空数据占位图 BaseAdapter封装(四) PageHe ...

  10. spring IOC DI AOP MVC 事务, mybatis 源码解读

    demo https://gitee.com/easybao/aop.git spring DI运行时序 AbstractApplicationContext类的 refresh()方法 1: pre ...