javaee之通用mapper

通用mapper可以帮我们写sql语句

我们需要引入依赖是

通用mapper的核心依赖

它本身就依赖一个jpa的依赖,通用mapper的整体依赖就包含了通用mapper的核心依赖

下面说一下通用mapper里面的常见注解

@KeySql的用法

tk.mybatis.mapper.common.Mapper

这个是通用Mapper的一个基础类,继承这个类,传入我们需要的一个实体类对象,就可以在这个类里面轻松实现对表的数据操作,而无需写任何多余的sql语句,注意这个类是一个接口

select(传入一个实体类)方法的使用->返回一个关于这个实体类的集合

它是根据实体类对象的有参作为参数,然后来进行查询的

通用mapper的数据库连接

在ly-item-service模块中,在resources下面的application.yml文件里面

我们去配置了连接数据库的信息

简单使用Example类

上面就是传入了可以构建sql语句的对象,内部是与数据表关联的类

复制代码
example.createCriteria().andLike("name","%" + key + "%").orEqualTo("letter",key);这个语句又代表什么意思

上面就类似于条件拼接

看一个下面的情况,为什么还可以接收Page这个对象,这个是个什么?

这个Page是PageHelper给我们提供的一个对象

其实它就是一个List接口集合的子类,只不过内部给我们封装了一些分页信息

内部有一个方法可以给我们返回这个集合对象

复制代码
example.setOrderByClause(orderByClause);

也就是给我们拼接一个ORDER BY的条件

复制代码
selectByExample(example);直接传入example对象,这个对象带了条件进行查询

Page<Brand> pageInfo = (Page<Brand>) brandMapper.selectByExample(example);

这个语句如下

这里说一下上面返回的Page对象,其实他就是一个LIst对象,只是它带了一些分页的信息在里面

this.brandMapper.insertSelective(brand);

其实就是插入的语法,里面是包含的哪一个表,一个实体对象进来其实就是一个数据表进来嘛

这个就是Brand实体类对应的表

selectByIdList(List<Long> ids)通过集合id参数,帮我们查询出一组对象

想要使用这个方法,我们的通用Mapper必须继承SlectByIddListMapper这个类

selectByPrimaryKey()

deleteByExample(example)

实际的sql语句就像下面这样

delete(需要删除的实体类对象)

内部需要传入一个对象,同时带上条件

它的sql语句可能就是下面这样

this.spuMapper.updateByPrimaryKeySelective(spuBo);

上面的意思也就是说,我们如果有些字段设置为了null,就不会更新到数据库里面,依旧是使用默认值

相关推荐
cici158749 小时前
MyBatis注解的运用于条件搜索实践
java·tomcat·mybatis
国服第二切图仔9 小时前
Rust开发实战之操作SQLite数据库——从零构建数据持久化应用
数据库·rust·sqlite
wangqiaowq9 小时前
StarRocks安装部署测试
java·开发语言
计算机学姐9 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
工业甲酰苯胺13 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫13 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@13 小时前
【JAVA】LinkedList与链表
java·python·链表
安审若无13 小时前
图数据库neoj4安装部署使用
linux·运维·数据库
fenglllle13 小时前
mybatis-plus SQL 注入漏洞导致版本升级引发的问题
数据库·sql·mybatis
LilySesy13 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv