數據庫管理及表結構設計:
- 初始化:Navicat建立邏輯模型;
- 導入:若需要對已有結構進行調整則在模型設計界面選擇:文件->從數據庫導入;
- 設計:建立需要的表,變更,保存;
- 提交:提交表結構變更至數據庫,保存后在模型設計界面選擇:文件->同步到數據庫;
標准pojo、mapper生成:使用IDEA旗艦版及MybatisX插件,在最右邊數據庫頁簽配置數據源,右鍵需要生成pojo和mapper的表選擇MybatisX-Genarator,配置模塊路徑及基礎包路徑,next,選擇mybatis-plus3及lombok,若需要localdatetime則選擇JSR310,finish
mapper調用及LambdaWrapper:
自動生成的mapper若要在Service中調用需要添加@Mapper和@Component
LambdaWrapper使用場景(新增不需要用wrapper,直接調用mapper.insert())
包括LambdaQueryWrapper、LambdaQueryChainWrapper、LambdaUpdateWrapper、LambdaUpdateChainWrapper
LambdaQueryWrapper用於構造Wrapper,通過mapper方法調用wrapper,支持刪查改;
LambdaQueryChainWrapper直接調用.one()、.list()或.page(),簡化查詢
UpdateWrapper設置完篩選條件后調用.set()設置需要修改的列和修改后的值
LambdaUpdateWrapper通過.set()免去在mapper.update()第一個參數創建對象,設置為null,簡化修改
LambdaUpdateChainWrapper直接調用.update(),簡化修改
LambdaQueryWrapper更新示例
參考鏈接:https://www.cnblogs.com/-mzh/p/12876463.html
創建實體
TourAlbumDownload tourAlbumDownload = new TourAlbumDownload();
String orderSn = OrderSn.getOrderSn();
更新其中的字段
baseMapper.update(tourAlbumDownload, new LambdaQueryWrapper
.eq(TourAlbumDownload::getDownloadOpenid, tourAlbumDownloadDTO.getDownloadOpenid())
.eq(TourAlbumDownload::getTournamentId, tourAlbumDownloadDTO.getTournamentId())
.in(TourAlbumDownload::getAlbumItemId, tourAlbumDownloadDTO.getIds())
);
tourAlbumDownload實體中字段有值的更新 其他不更新
LambdaQueryWrapper是更新條件