当前位置: 首页 > wzjs >正文

常州做网站那家快白帽优化关键词排名seo

常州做网站那家快,白帽优化关键词排名seo,网站服务类型,国内软件开发培训机构本文以实体类 ChatgptSetting为例子 public class ChatgptSetting {private String setting;// 配置项名称private String value; } 一、基本 CRUD 操作 1. 插入数据 chatgptSettingMapper.insert(chatgptSetting); 自动将非 null 字段插入到对应的数据库字段中 主键自增…

本文以实体类 ChatgptSetting为例子

public class ChatgptSetting {private String setting;// 配置项名称private String value;
}

一、基本 CRUD 操作

1. 插入数据

chatgptSettingMapper.insert(chatgptSetting);

  • 自动将非 null 字段插入到对应的数据库字段中

  • 主键自增会自动回填(需实体类加 @TableId(type = IdType.AUTO)


2. 根据主键查询

chatgptSettingMapper.selectById(1);

3. 查询所有数据

List<ChatgptSetting> list = chatgptSettingMapper.selectList(null);


4. 条件查询

List<ChatgptSetting> list = chatgptSettingMapper.selectList( new QueryWrapper<ChatgptSetting>().eq("type", "api") );

  • QueryWrapper 用于构造 WHERE 条件

  • 你也可以链式调用:.like(), .between(), .orderByDesc(), .isNotNull()


5. 更新数据(按主键)

chatgptSettingMapper.updateById(chatgptSetting);

  • 前提是 chatgptSetting.getId() 不为 null

  • 自动更新非 null 字段


6. 条件更新

chatgptSettingMapper.update( chatgptSetting, new UpdateWrapper<ChatgptSetting>().eq("setting", chatgptSetting.getSetting()) );

  • 常用于“非主键”条件更新

  • 如果你还用 .set("value", xxx),优先以 set() 为准


7. 批量删除

chatgptSettingMapper.deleteBatchIds(Arrays.asList(1, 2, 3));

二、Wrapper 用法:QueryWrapper / UpdateWrapper

方法含义示例
.eq("字段", 值)等于eq("type", "api")
.like("字段", 值)模糊匹配like("name", "key")
.in("字段", List)在范围内in("id", ids)
.orderByDesc("字段")倒序排序orderByDesc("create_time")
.set("字段", 值)更新字段set("status", "已更新")

三、常见注解说明

注解说明
@TableName("表名")映射数据库表
@TableId(type = IdType.AUTO)主键自增策略
@TableField("字段名")映射字段名(如果数据库列和实体字段名不一致)
@TableField(exist = false)该字段不参与数据库操作,常用于分页、展示字段等

四、分页查询

需要配置分页插件:

// Spring Boot 配置分页插件(一次配置即可)
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;
}

使用

Page<ChatgptSetting> page = new Page<>(1, 10);
Page<ChatgptSetting> result = chatgptSettingMapper.selectPage(page, queryWrapper);

五、结合使用示例:分页+条件查询

QueryWrapper<ChatgptSetting> wrapper = new QueryWrapper<>();
wrapper.like("type", "api").orderByDesc("create_time");Page<ChatgptSetting> page = new Page<>(1, 10);
Page<ChatgptSetting> result = chatgptSettingMapper.selectPage(page, wrapper);

六、其它实用技巧

✅ 实体类中加分页参数,但不影响数据库操作:

@TableField(exist = false)
private Integer page;@TableField(exist = false)
private Integer size;

七、构造器的使用 

  通常在刚开始使用mybatis-plus时会出现的问题有:什么时候直接用mybatis-plus封装的方法、什么使用在方法中添加构造器**Warpaper<T>。

BaseMapper<T> 封装的方法有:
public interface BaseMapper<T> extends Mapper<T> {int insert(T entity);int deleteById(Serializable id);int deleteByMap(@Param("cm") Map<String, Object> columnMap);int delete(@Param("ew") Wrapper<T> queryWrapper);int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);int updateById(@Param("et") T entity);int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);T selectById(Serializable id);List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);T selectOne(@Param("ew") Wrapper<T> queryWrapper);Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);<E extends IPage<T>> E selectPage(E page, @Param("ew") Wrapper<T> queryWrapper);<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param("ew") Wrapper<T> queryWrapper);
}

根据方法中的参数类型来调用对于的方法。

小编在学习过程中总结出一个小点:

在开发过程中 我们一旦用到关于主键id有关的crud操作 我们可以直接调用方法 不需要使用构造器构造具体sql条件。一但执行的sql操作不是根据主键id执行 那么参数里面就会包含构造器(但不绝对 还是以方法中的参数类型为准)

例如:

chatgptSettingMapper.update(chatgptSetting,new UpdateWrapper<ChatgptSetting>().set("value", chatgptSetting.getValue()).eq("setting", chatgptSetting.getSetting())
);

而不能直接写成:

chatgptSettingMapper.update(chatgptSetting);

✅ 总结一句话:

MyBatis-Plus = 自动化 + 高效 + 函数式链式调用 + 兼容原生 MyBatis,适合中小型项目快速开发。

http://www.dtcms.com/wzjs/334880.html

相关文章:

  • 做我女朋友恶搞网站网络黄页推广软件
  • 专业做招聘的网站成都网站建设
  • 武汉 网站 建设项目重庆seo网络优化咨询热线
  • 松岗专业做网站公司站长之家网站
  • 如何制作产品网站模板下载地址阿里云域名注册官网
  • 北仑网站建设优化大师怎么删除学生
  • 一个最简单的产品展示的asp网站应该如何做长沙优化网站厂家
  • 制作网站公司合同注意事项线上营销策略
  • 网站制作商seo实战论坛
  • 网站模板开发平台怎么做网站视频播放代码
  • 做网站东莞选哪家公司好所有代刷平台推广
  • 济南公司建站模板seo服务
  • 小区服务网站怎么做百度推广助手电脑版
  • 做网站建设的怎么赢利免费h5制作网站
  • 做网站或者app二手交易平台
  • 建设网站的市场机会四川网站制作
  • 怎样做商城网站的推广外贸订单怎样去寻找
  • 1688域名网站网站推广的方法有哪些?
  • 网站应当实现那些功能 流程如何设计免费建站
  • seo 网站文章一般要多少字下载百度app免费下载安装
  • 平台下载素材网站开发广州seo排名优化
  • 服装订单接单网站深圳seo优化外包公司
  • 个人淘客网站备案网络广告文案案例
  • 企业档案网站建设如何有效的推广宣传
  • 绍兴做网站公司百度竞价排名价格查询
  • 城市更新论坛破圈上饶seo博客
  • 织梦网站开发兼职网络推广主要做什么
  • 做动态网站用哪个程序软件比较简单?网站服务器信息查询
  • 教你做网站的视频如何seo搜索引擎优化
  • 个人域名网站可以做企业站吗产品软文