spring boot+sqlite+mybatis实现增删改查例子
主要是更换了下sqlite的数据源而已,其他代码不变。
我都贴一下吧,这个算是比较通用的基础增删改查代码。
1.创建test.db
可以使用Idea自带的Database插件配置,也可以命令行创建,具体我就不讲了,看下图

初始化数据:
create table tb_user
(
id integer primary key autoincrement not null,
username varchar(20),
sex varchar(10),
age integer
)
;
insert into tb_user(username,sex,age) values ('Jack','male',20);
insert into tb_user(username,sex,age) values ('Lucy','female',21);
insert into tb_user(username,sex,age) values ('Dylan','male',18);
2.配置application.yml
spring:
datasource:
driver-class-name: org.sqlite.JDBC
url: jdbc:sqlite:D:/ideaprojects/sqlitedemo/src/main/resources/test.db
username:
password:
#mybatis
mybatis:
mapperLocations: classpath*:mapper/*.xml
3.写实体类
package com.laoxu.test.sqlitedemo.model;
import lombok.Data;
/**
* @Description:
* @Author laoxu
* @Date 2019/11/5 22:25
**/
@Data
public class User {
private Integer id;
private String username;
private String sex;
private Integer age;
}
4.写mapper接口和xml文件
package com.laoxu.test.sqlitedemo.mapper;
import com.laoxu.test.sqlitedemo.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description:
* @Author laoxu
* @Date 2019/11/5 22:27
**/
@Mapper
@Component
public interface UserDao {
int insert(User user);
User select(Integer id);
List<User> selectAll();
int delete(Integer id);
int update(User user);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laoxu.test.sqlitedemo.mapper.UserDao">
<resultMap id="userMap" type="com.laoxu.test.sqlitedemo.model.User">
<result property="id" column="id"/>
<result property="username" column="username"/>
<result property="sex" column="sex"/>
<result property="age" column="age"/>
</resultMap>
<insert id="insert" parameterType="com.laoxu.test.sqlitedemo.model.User">
insert into tb_user (
username,
sex,
age
)
VALUES (
#{username},
#{sex},
#{age}
)
</insert>
<update id="update" parameterType="com.laoxu.test.sqlitedemo.model.User">
update tb_user
set username=#{username},
sex=#{sex},
age = #{age}
where id=#{id}
</update>
<delete id="delete">
DELETE FROM tb_user
WHERE id = #{id}
<!--IN
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>-->
</delete>
<select id="select" parameterType="java.lang.Integer" resultMap="userMap">
select id, username, sex, age
from tb_user
where id = #{id}
</select>
<select id="selectAll" resultMap="userMap">
select id,username,sex,age
from tb_user
</select>
</mapper>
5.写service和controller
package com.laoxu.test.sqlitedemo.service;
import com.laoxu.test.sqlitedemo.mapper.UserDao;
import com.laoxu.test.sqlitedemo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.jws.soap.SOAPBinding;
import java.util.List;
/**
* @Description:
* @Author laoxu
* @Date 2019/11/5 23:10
**/
@Service
public class UserService {
@Autowired
private UserDao userDao;
public boolean add(User user) {
return userDao.insert(user) > 0;
}
public User getOne(int id) {
return userDao.select(id);
}
public List<User> getAll() {
return userDao.selectAll();
}
public boolean modify(User user) {
return userDao.update(user) > 0;
}
public boolean remove(Integer id) {
return userDao.delete(id) > 0;
}
}
package com.laoxu.test.sqlitedemo.controller;
import com.laoxu.test.sqlitedemo.model.User;
import com.laoxu.test.sqlitedemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Description:
* @Author laoxu
* @Date 2019/11/5 23:13
**/
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/get/{id}")
public User get(@PathVariable Integer id){
return userService.getOne(id);
}
@GetMapping("/getAll")
public List<User> getAll(){
return userService.getAll();
}
@PostMapping("/remove")
public Boolean remove(@RequestParam Integer id){
return userService.remove(id);
}
@PostMapping("/add")
public Boolean add(@RequestBody User user){
return userService.add(user);
}
@PostMapping("/modify")
public Boolean update(@RequestBody User user){
return userService.modify(user);
}
}
6.启动项目进行测试
增

---------------------
删

----------------------
改


-----------------------
查

源码地址:
https://gitee.com/indexman/sqlitedemo
spring boot+sqlite+mybatis实现增删改查例子的更多相关文章
- 上手spring boot项目(三)之spring boot整合mybatis进行增删改查的三种方式。
1.引入依赖. <!--springboot的web起步依赖--><dependency> <groupId>org.springframework.boot< ...
- 上手spring boot项目(三)之spring boot整合mybatis进行增删改查
使用mybatis框架进行增删改查大致有两种基础方式,一种扩展方式.两种基础方式分别是使用xml映射文件和使用方法注解.扩展方式是使用mybatis-plus的方式,其用法类似于spring-data ...
- Spring Boot使用Mybatis实现增删改查
java.com.wms.model.Admin.java 1 package com.wms.model; 2 3 import java.sql.Timestamp; 4 5 public cla ...
- 使用 Spring Boot 搭建一套增删改查(无多余代码)
前言 这是我学习 Spring Boot 的第三篇文章,终于可以见到效果了.错过的同学可以看看之前的文章 我们为什么要学习 Spring Boot Spring Boot 入门详细分析 在入门的基础上 ...
- Spring Boot实现学生信息增删改查
上一篇博客写了如何初始化一个简单的Spring Boot项目,这次详细记录一下如何连接数据库并实现增删改查基本操作. 我使用的是MySQL 5.5+Navicat,MySQL量级比较轻,当然微软的SQ ...
- Spring Boot GraphQL 实战 02_增删改查和自定义标量
hello,大叫好,我是小黑,又和大家见面啦~ 今天我们来继续学习 Spring Boot GraphQL 实战,我们使用的框架是 https://github.com/graphql-java-ki ...
- spring boot集成mongodb的增删改查
添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- Spring JdbcTemplate框架搭建及其增删改查使用指南
Spring JdbcTemplate框架搭建及其增删改查使用指南 前言: 本文指在介绍spring框架中的JdbcTemplate类的使用方法,涉及基本的Spring反转控制的使用方法和JDBC的基 ...
- 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作
一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...
- Spring Boot入门系列(六)如何整合Mybatis实现增删改查
前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...
随机推荐
- [转帖]signal 11 (SIGSEGV)错误排查
https://www.jianshu.com/p/a4250c72d391 jni调试最蛋疼的就是signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault a ...
- [转帖]tidb的分区表
https://docs.pingcap.com/zh/tidb/v6.5/partitioned-table 分区类型 本节介绍 TiDB 中的分区类型.当前支持的类型包括 Range 分区.Ran ...
- [转帖]在 TiDB 中正确使用索引,性能提升 666 倍
https://tidb.net/book/tidb-monthly/2022/2022-04/usercase/index-666 背景 最近在给一个物流系统做TiDB POC测试,这个系统是基于 ...
- [转帖]【TiDB】快速起步
1. 存储引擎的的功能 提供数据存储接口并持久化存储数据 2. LSM-tree 的特性 LSM-tree 结构本质上是一个用空间置换写入延迟,用顺序写入替换随机写入的数据结构 3. 数据库技术的发展 ...
- [转帖]Split Region 使用文档
https://docs.pingcap.com/zh/tidb/stable/sql-statement-split-region 在 TiDB 中新建一个表后,默认会单独切分出 1 个 Regio ...
- [转帖]从理论到实践,异步I/O模式下NVMe SSD高性能之道
在早期NVMe的讨论话题中,常常将之AHCI协议进行对比,在支持的最大队列深度.并发进程数以及消耗时钟周期数等方面,NVMe吊打了AHCI.最直观也最权威的就是下面这张对比图片. NVMe与AHCI协 ...
- Chrome浏览器不同版本兼容性的验证方法
Chrome浏览器不同版本兼容性的验证方法 背景 上周客户现场有出现使用国产信创设备上面的奇安信浏览器出现兼容性的问题. 开发认为是测试不全面导致. 认为测试应该必须测试过特定浏览器才可以进行说明. ...
- [转帖]记录自己安装内存带宽测试工具——Stream过程
测试环境: CPU:Kunpeng 920 8Core MEM:16G Storage:200G OS:openEuler 20.03 (LTS-SP3) 1 服务器资源监控工具--Stream 1. ...
- [转贴]细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4
细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4 https://www.cnblogs.com/malecrab/p/5300503.html 1. U ...
- SQLSERVER 标准版与企业版的版本标识区别
1. windows 标准版 sqlserver 标准版 2. Windows 数据中心版 sqlserver 企业版 3. Win10 之后 服务器版本缩减的很厉害 只有两个版本了 如图示 4. ...