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 ...
随机推荐
- MongoDB的安装使用与监控
MongoDB的安装使用与监控 下载 https://www.mongodb.com/try/download/community 我这边习惯于下载 Windows 的 MSI 进行安装 Linux ...
- 【转帖】ESXi 6.x 安装storcli监控raid卡状态
https://b2b.baidu.com/land?id=744541c6188f7937d6dc97d6fb9142ff10 脚本宝典收集整理的这篇文章主要介绍了ESXi 6.x 安装storcl ...
- [转帖]/proc文件简介
https://www.jianshu.com/p/2610241770be 简介 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提 ...
- Oracle TNS 异常问题处理
今天下午快下班时同事找我说自己的性能测试Oracle数据库 连不上了. 然后自己连上去简单看了一下. 因为已经是事后了, 所以没有截图,只通过文字说明. 环境说明:Win2012r2 + Oracle ...
- window.addEventListener注册滚动scroll事件不生效
先了解一下滚动事件触发的条件 视图或者一个元素在滚动时,会触发元素的 scroll 事件. 备注: 在 iOS UIWebViews 中,滚动进行时不会触发 scroll 事件:只有当滚动结束后事件才 ...
- python代码的tab和空格缩进互转
代码规范 在我们项目中python代码使用tab缩进,并统一大家的编辑器设置. 如果同一个python文件中即有空格又有tab缩进,那么运行此文件会报错. 关于使用空格还是tab,这里就不展开讨论了, ...
- 2.13 PE结构:实现PE代码段加密
代码加密功能的实现原理,首先通过创建一个新的.hack区段,并对该区段进行初始化,接着我们向此区段内写入一段具有动态解密功能的ShellCode汇编指令集,并将程序入口地址修正为ShellCode地址 ...
- 从嘉手札<2023-12-15>
荒原 朔方 2023.12.15 人生实属是很愁的时间 愁到听不见一点雪花飘落的声音 愁到连随便写点文章都算得上拼尽全力 萧瑟的北风吹散了为数不多的倔强 漫天的雪花飞舞 埋葬的是那么多年走过的春秋 ...
- 每日一道Java面试题:说一说Java中的异常
写在开头 任何一个程序都无法保证100%的正常运行,程序发生故障的场景,我们称之为:异常,在Java中对于异常的处理有一套完善的体系,今天我们就来一起学习一下. 老样子,用一段简单的代码开始今天的学习 ...
- 尴尬:在Excel中为指定数据插入饼图失败
本来是非常非常简单的一个需求,即便不会,随便百度下也都有说明. 可自己却在一次紧急工作中因此耽误了时间,需求是需要插入一个饼图但因操作错误一直无法正确显示饼图数据,非常尴尬,干脆记录下这一刻. 尴尬1 ...