电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解springboot+mybatis-plue實現內置的CRUD使用詳情

瀏覽:15日期:2023-05-06 14:44:13

mybatis-plus的特性

無侵入:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑 損耗小:啟動即會自動注入基本CURD,性能基本無損耗,直接面向對象操作 強大的 CRUD操作:內置通用 Mapper、通用Service,僅僅通過少量配置即可實現單表大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求 支持 Lambda形式調用:通過 Lambda 表達式,方便的編寫各類查詢條件,無需再擔心字段寫錯 支持主鍵自動生成:支持多達 4種主鍵策略(內含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題 支持 ActiveRecord 模式:支持ActiveRecord 形式調用,實體類只需繼承 Model 類即可進行強大的 CRUD 操作 支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere ) 內置代碼生成器:采用代碼或者Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用 內置分頁插件:基于 MyBatis 物理分頁,開發者無需關心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢 分頁插件支持多種數據庫:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數據庫 內置性能分析插件:可輸出 Sql 語句以及其執行時間,建議開發測試時啟用該功能,能快速揪出慢查詢 - 內置全局攔截插件:提供全表 delete、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作

首先搭建好springboot項目,引入pom文件

<!-- mybatis plus 依賴 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.0</version></dependency><!-- mybatis 依賴 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency><!-- mybatis 根據實體生成數據庫表依賴 --><dependency><groupId>com.gitee.sunchenbin.mybatis.actable</groupId><artifactId>mybatis-enhance-actable</artifactId><version>1.1.1.RELEASE</version></dependency>

連接數據庫這一步很關鍵,這里使用druid連接mysql數據庫

<!-- mysql數據庫--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- druid連接數據庫 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency>

application-prod.yml數據源配置文件,這里使用com.mysql.cj.jdbc.Driver的druid數據源,你也可以直接寫在application.yml配置文件中

spring: datasource: url: jdbc:mysql://127.0.0.1:3306/lianxicrud?useUnicode=true&useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: 123456 # 使用druid數據源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver server:port: 8191

新建mapper的空文件

import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.psd.domain.User;import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface UserMapper extends BaseMapper<User>{}

新建service及impl文件Service文件繼續IServiceImpl繼承ServiceImpl<UserMapper,User>實現service抽象接口注ServiceImpl查詢是直接this.list(),插入則使用userMapper.insert(user)修改數據刪除數據在單獨在文章內容后文補充

import com.baomidou.mybatisplus.extension.service.IService;import com.psd.domain.User;import java.util.List;public interface IUserService extends IService<User>{ /** * 查詢所有 * @return */ List<User> listAll();/** * id條件查詢 * @return */ User listOne(Long id); /*** * 保存 * @param user * @return */ int insert1(User user);}

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.psd.domain.User;import com.psd.mapper.UserMapper;import com.psd.service.IUserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;import java.util.stream.Collectors;@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper,User> implements IUserService{ @Autowired private UserMapper userMapper; //查詢所有 @Override public List<User> listAll() { List<User> users = this.list(); return users; } //條件查詢 public User listOne(Long id) { User user = this.getById(id); return user; } //保存 public int insert1(User user){ return userMapper.insert(user); }}

user實體

import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;@TableName('user')@Datapublic class User{ private long id; private String name; private int age; private String email;//..使用lombok插件省列get set方法}

控制器應用層類

import com.psd.domain.User;import com.psd.service.IUserService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;import java.util.List;@RestControllerpublic class UserController { @Autowired private IUserService userService; @GetMapping('/listAll') public List<User> listAll(){ List<User> users = userService.listAll(); return users; } @GetMapping('/listOne') public User listOne(){ return userService.listOne(1L); } //保存 @GetMapping('/save') public void baocun1(int age,String name,String email){ User user1 = new User(); user1.setAge(age); user1.setName(name); user1.setEmail(email); userService.insert1(user1); }}

mybatis-plus修改數據操作

@Test public void update() { //修改值 User user = new User(); user.setAge(“20”); user.setName('李四'); //修改條件意思就是修改值為user.setAge(“20”);user.setName('李四');像setEmail為null的視為不變,然后條件值為id=1 UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>(); userUpdateWrapper.eq('id', '1'); boolean update = mapper.update(user, userUpdateWrapper); System.out.println(update); }

mybatis-plus刪除數據操作

@Test public void delete() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); //條件意思就是刪除id=1的并且isNotNull指'id'字段不為空的 queryWrapper .ge('id', 1) .isNotNull('id'); int delete = mapper.delete(queryWrapper); }

詳解springboot+mybatis-plue實現內置的CRUD使用詳情

直接瀏覽器請求,那么整個過程就完成了http://localhost:8191/save?age=18&name=張磊&email=739595798@qq.comhttp://localhost:8191/user/listOne

詳解springboot+mybatis-plue實現內置的CRUD使用詳情

詳解springboot+mybatis-plue實現內置的CRUD使用詳情

到此這篇關于詳解springboot+mybatis-plue實現內置的CRUD使用詳情的文章就介紹到這了,更多相關springboot+mybatis-plue內置CRUD內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 双相钢_双相不锈钢_双相钢圆钢棒_双相不锈钢报价「海新双相钢」 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 脑钠肽-白介素4|白介素8试剂盒-研域(上海)化学试剂有限公司 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 长城人品牌官网| 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 温室大棚建设|水肥一体化|物联网系统 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 视频教程导航网_视频教程之家_视频教程大全_最新视频教程分享发布平台 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 雪花制冰机(实验室雪花制冰机)百科 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 密封无忧网 _ 专业的密封产品行业信息网 | 致胜管家软件服务【在线免费体验】 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | NM-02立式吸污机_ZHCS-02软轴刷_二合一吸刷软轴刷-厦门地坤科技有限公司 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 样品瓶(色谱样品瓶)百科-浙江哈迈科技有限公司 | 有声小说,听书,听小说资源库-听世界网 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 |