前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Springboot+mybatis最简单的增删改查写法

Springboot+mybatis最简单的增删改查写法

作者头像
微笑的小小刀
发布2020-08-11 14:54:01
7760
发布2020-08-11 14:54:01
举报
文章被收录于专栏:java技术大本营java技术大本营

增删改查估计是每个程序员都痛恨的事情,其实就是复制粘贴,于是乎,小刀就折腾了一个工具类,可以帮大家最大程度上(至少我觉得很简化)去减少些增删改查代码

新的增删改查

不要Controller , 不要xml , 只要mapper 和实体类, 就可以代替原来的controller-mapper-xml

引入依赖

除了常用的springboot相关依赖,要加上小刀打的工具包,整体依赖如下

代码语言:javascript
复制
  implementation 'org.springframework.boot:spring-boot-starter-web'
  implementation 'org.springframework.boot:spring-boot-starter-data-redis'
  implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3'

  // 小刀打的工具包依赖(已发布到中央仓库)
  compile 'red.lixiang.tools:sunshine-starter:1.0.1'
  // 这里方便测试,引了h2 , 实际中可以换成mysql
  runtimeOnly 'com.h2database:h2'

准备测试表

这里为了代码运行方便,我们直接引入了h2数据库.表结构及测试数据如下:

代码语言:javascript
复制
drop table users if exists;

create table users (
                       id int,
                       name varchar(20)
);
代码语言:javascript
复制
insert into users (id, name) values((select count(*) + 1 from users), 'XiaoDao');
insert into users (id, name) values((select count(*) + 1 from users), '公众号:java技术大本营');
insert into users (id, name) values((select count(*) + 1 from users), '微信:best396975802');

编写实体类

这里面的实体类有两个, 一个是和数据库对应的实体类, 一个是查询用的QC,QC中封装了一些和查询相关的通用字段. 数据库对应字段: Users:

代码语言:javascript
复制
public class Users {
    // 这个字段标识了是和数据库对应的字段
    @SqlField
    private Long id;
    @SqlField
    private String name;

  // 这里省略了get/set方法
}

UsersQC:

代码语言:javascript
复制
// 注意这里要继承一下BaseQC
public class UsersQC extends BaseQC {

    private Long id;
     // 这里的QC注解,按需使用,如这里, 标识name是一个可以模糊查询的字段
    @QC(likeQuery = true)
    private String name;

}

编写mybatis的mapper文件

代码语言:javascript
复制
// 需要继承BaseMapper,里面封装了基本的增删改查的写法
@Mapper
@Repository
public interface UsersMapper extends BaseMapper<Users> {

// 需要重写这个方法,去完成一些缓存的初始化
    @Override
    default Class<?> getMapperClass() {
        MybatisToolCache.cacheDomain("users",Users.class,UsersQC.class);

        return UsersMapper.class;
    }
}

编写spring的配置文件

这里面没有什么单独的配置,都是h2数据库的配置,在实际使用中,可以替换成mysql的数据库

代码语言:javascript
复制
#配置数据库连接地址
spring.datasource.platform=h2
#配置数据库驱动
spring.datasource.driver-class-name=org.h2.Driver
#配置数据库用户名
spring.datasource.username=sa
spring.datasource.schema=classpath:test_scheme.sql
spring.datasource.data=classpath:test_data.sql

启动项目

到目前为止,只需要我们写这些代码, Controller小刀直接封装在框架中了,启动项目之后,可以访问 http://127.0.0.1:8080/simple/users/query 看到对应的数据库数据. 同样封装的请求还有获取单个的 http://127.0.0.1:8080/simple/users/get?id=1 新增/保存的 http://127.0.0.1:8080/simple/user/save (post请求) 删除的 http://127.0.0.1:8080/simple/remove?id=1

源码地址

上述文章的代码地址: https://github.com/xiaodaojava/sunshine-sample

工具类的源码地址: https://github.com/xiaodaojava/sunshine

总结

在使用过程中,有什么疑问,欢迎随时私信小刀一起讨论交流~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新的增删改查
  • 引入依赖
  • 准备测试表
  • 编写实体类
  • 编写mybatis的mapper文件
  • 编写spring的配置文件
  • 启动项目
  • 源码地址
  • 总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档