最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解springboot+mybatis-plue實現(xiàn)內(nèi)置的CRUD使用詳情

 更新時間:2020年07月12日 10:19:07   作者:Dlei東  
這篇文章主要介紹了詳解springboot+mybatis-plue實現(xiàn)內(nèi)置的CRUD使用詳情,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

mybatis-plus的特性

  • 無侵入:只做增強(qiáng)不做改變,引入它不會對現(xiàn)有工程產(chǎn)生影響,如絲般順滑
  • 損耗?。簡蛹磿詣幼⑷牖綜URD,性能基本無損耗,直接面向?qū)ο蟛僮?/li>
  • 強(qiáng)大的 CRUD操作:內(nèi)置通用 Mapper、通用Service,僅僅通過少量配置即可實現(xiàn)單表大部分 CRUD 操作,更有強(qiáng)大的條件構(gòu)造器,滿足各類使用需求
  • 支持 Lambda形式調(diào)用:通過 Lambda 表達(dá)式,方便的編寫各類查詢條件,無需再擔(dān)心字段寫錯
  • 支持主鍵自動生成:支持多達(dá) 4種主鍵策略(內(nèi)含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題
  • 支持 ActiveRecord 模式:支持ActiveRecord 形式調(diào)用,實體類只需繼承 Model 類即可進(jìn)行強(qiáng)大的 CRUD 操作
  • 支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 內(nèi)置代碼生成器:采用代碼或者M(jìn)aven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller
  • 層代碼,支持模板引擎,更有超多自定義配置等您來使用
  • 內(nèi)置分頁插件:基于 MyBatis
  • 物理分頁,開發(fā)者無需關(guān)心具體操作,配置好插件之后,寫分頁等同于普通 List 查詢
  • 分頁插件支持多種數(shù)據(jù)庫:支持MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數(shù)據(jù)庫
  • 內(nèi)置性能分析插件:可輸出 Sql 語句以及其執(zhí)行時間,建議開發(fā)測試時啟用該功能,能快速揪出慢查詢 - 內(nèi)置全局?jǐn)r截插件:提供全表 delete、 update 操作智能分析阻斷,也可自定義攔截規(guī)則,預(yù)防誤操作

首先搭建好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 根據(jù)實體生成數(shù)據(jù)庫表依賴 -->
		<dependency>
			<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
			<artifactId>mybatis-enhance-actable</artifactId>
			<version>1.1.1.RELEASE</version>
		</dependency>

連接數(shù)據(jù)庫這一步很關(guān)鍵,這里使用druid連接mysql數(shù)據(jù)庫

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

application-prod.yml數(shù)據(jù)源配置文件,這里使用com.mysql.cj.jdbc.Driver的druid數(shù)據(jù)源,你也可以直接寫在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數(shù)據(jù)源
 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;

@Mapper
public interface UserMapper extends BaseMapper<User>{
}

新建service及impl文件
Service文件繼續(xù)IService
Impl繼承ServiceImpl<UserMapper,User>實現(xiàn)service抽象接口
注ServiceImpl查詢是直接this.list(),插入則使用userMapper.insert(user)
修改數(shù)據(jù)刪除數(shù)據(jù)在單獨(dú)在文章內(nèi)容后文補(bǔ)充

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;


@Service
public 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")
@Data
public class User{

 private long id;
 private String name;
 private int age;
 private String email;
	//..使用lombok插件省列g(shù)et set方法

}

控制器應(yīng)用層類

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;


@RestController
public 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修改數(shù)據(jù)操作

@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刪除數(shù)據(jù)操作

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

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


到此這篇關(guān)于詳解springboot+mybatis-plue實現(xiàn)內(nèi)置的CRUD使用詳情的文章就介紹到這了,更多相關(guān)springboot+mybatis-plue內(nèi)置CRUD內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Spring?Cloud集成Nacos?Config動態(tài)刷新源碼剖析

    Spring?Cloud集成Nacos?Config動態(tài)刷新源碼剖析

    這篇文章主要為大家介紹了Spring?Cloud集成Nacos?Config動態(tài)刷新源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例

    freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例

    這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實現(xiàn)分頁示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java用文件流下載網(wǎng)絡(luò)文件示例代碼

    Java用文件流下載網(wǎng)絡(luò)文件示例代碼

    這篇文章主要介紹了Java用文件流的方式下載網(wǎng)絡(luò)文件,大家參考使用吧
    2013-11-11
  • FileUtils擴(kuò)展readURLtoString讀取url內(nèi)容

    FileUtils擴(kuò)展readURLtoString讀取url內(nèi)容

    這篇文章主要介紹了FileUtils擴(kuò)展readURLtoString使用其支持讀取URL內(nèi)容為String,支持帶POST傳大量參數(shù),大家參考使用吧
    2014-01-01
  • 深入了解Java內(nèi)部類的用法

    深入了解Java內(nèi)部類的用法

    java類的五大成員:屬性,方法,構(gòu)造器(構(gòu)造方法),代碼塊,內(nèi)部類。本文就來和大家詳細(xì)講講ava內(nèi)部類的用法,需要的小伙伴可以參考一下
    2022-07-07
  • MyBatis高級映射和查詢緩存

    MyBatis高級映射和查詢緩存

    這篇文章主要介紹了MyBatis高級映射和查詢緩存的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • Java同步鎖Synchronized底層源碼和原理剖析(推薦)

    Java同步鎖Synchronized底層源碼和原理剖析(推薦)

    這篇文章主要介紹了Java同步鎖Synchronized底層源碼和原理剖析,釋放后,進(jìn)入減減操作、直到為0然后喚醒隊列,讓他們?nèi)帄Z鎖,循環(huán)前面步驟,對Java同步鎖Synchronized相關(guān)知識感興趣的朋友一起看看吧
    2022-05-05
  • Java之synchronized(含與ReentrantLock的區(qū)別解讀)

    Java之synchronized(含與ReentrantLock的區(qū)別解讀)

    文章主要介紹了`synchronized`和`ReentrantLock`的區(qū)別,包括它們的實現(xiàn)原理、公平性、靈活性、可中斷性等方面,同時,文章詳細(xì)解釋了`synchronized`的使用方法,包括修飾實例方法、靜態(tài)方法和代碼塊的情況,以及如何分析代碼是否互斥和可重入性
    2025-01-01
  • 線程局部變量的實現(xiàn)?ThreadLocal使用及場景介紹

    線程局部變量的實現(xiàn)?ThreadLocal使用及場景介紹

    這篇文章主要為大家介紹了線程局部變量的實現(xiàn)?ThreadLocal使用及場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Java時間輪算法的實現(xiàn)代碼示例

    Java時間輪算法的實現(xiàn)代碼示例

    本篇文章主要介紹了Java時間輪算法的實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

平定县| 喀喇沁旗| 澄江县| 杨浦区| 常德市| 都兰县| 江永县| 白城市| 马龙县| 莱阳市| 大港区| 蓬溪县| 醴陵市| 池州市| 山丹县| 汾阳市| 宿州市| 济南市| 云龙县| 长治县| 二连浩特市| 秦安县| 彭阳县| 白山市| 乌拉特后旗| 建始县| 岢岚县| 贵溪市| 久治县| 富宁县| 安宁市| 石阡县| 海南省| 日土县| 新龙县| 南雄市| 兴文县| 鄢陵县| 沁源县| 雅安市| 海宁市|