亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

mybatis-plus的特性

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

首先搭建好springboot項(xiàng)目,引入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í)體生成數(shù)據(jù)庫(kù)表依賴 -->
		<dependency>
			<groupId>com.gitee.sunchenbin.mybatis.actable</groupId>
			<artifactId>mybatis-enhance-actable</artifactId>
			<version>1.1.1.RELEASE</version>
		</dependency>

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

<!-- mysql數(shù)據(jù)庫(kù)-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- druid連接數(shù)據(jù)庫(kù) -->
		<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>實(shí)現(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實(shí)體

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);
 }

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


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

相關(guān)文章

  • Spring深入分析講解BeanUtils的實(shí)現(xiàn)

    Spring深入分析講解BeanUtils的實(shí)現(xiàn)

    java知識(shí)體系統(tǒng)有很多數(shù)據(jù)實(shí)體,比較常用的DTO、BO、DO、VO等,其他類似POJO概念太老了現(xiàn)在基本廢棄掉了,本篇幅直接忽略,對(duì)于這幾種數(shù)據(jù)實(shí)體各自代表的含義和應(yīng)用場(chǎng)景先做一下簡(jiǎn)單描述和分析
    2022-06-06
  • 你知道Java的這些騷操作嗎?

    你知道Java的這些騷操作嗎?

    今天在看python相關(guān)的東西,看到各種騷操作,回頭想了下Java有沒(méi)有什么騷操作,整理下面幾種,一起看一下吧,需要的朋友可以參考下
    2021-05-05
  • java實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)

    java實(shí)現(xiàn)圖書(shū)館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)圖書(shū)館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Java-Redis-Redisson分布式鎖的功能使用及實(shí)現(xiàn)

    Java-Redis-Redisson分布式鎖的功能使用及實(shí)現(xiàn)

    這篇文章主要介紹了Java-Redis-Redisson-分布式鎖的功能使用及實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Java位集合之BitMap、BitSet和布隆過(guò)濾器示例解析

    Java位集合之BitMap、BitSet和布隆過(guò)濾器示例解析

    這篇文章主要介紹了Java中位集合的基本概念、實(shí)現(xiàn)方法以及應(yīng)用場(chǎng)景,包括Bit-Map、BitSet和BloomFilter,Bit-Map通過(guò)位操作高效地存儲(chǔ)和查詢?cè)貭顟B(tài),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • Java中雙冒號(hào)::的作用舉例詳解

    Java中雙冒號(hào)::的作用舉例詳解

    這篇文章主要給大家介紹了關(guān)于Java中雙冒號(hào)::作用的相關(guān)資料,雙冒號(hào)(::)運(yùn)算符在Java?8中被用作方法引用(method?reference),方法引用是與lambda表達(dá)式相關(guān)的一個(gè)重要特性,需要的朋友可以參考下
    2023-11-11
  • Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼

    Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼

    這篇文章主要介紹了Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java實(shí)現(xiàn)搜索功能代碼詳解

    Java實(shí)現(xiàn)搜索功能代碼詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)搜索功能代碼詳解,實(shí)現(xiàn)思路小編給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-12-12
  • 再談java回調(diào)函數(shù)

    再談java回調(diào)函數(shù)

    個(gè)人對(duì)于回調(diào)函數(shù)的理解就是回調(diào)函數(shù)就是回頭再調(diào)用的函數(shù),哈哈,下面我們來(lái)詳細(xì)探討下回調(diào)函數(shù)。
    2015-07-07
  • 利用Java正則表達(dá)式校驗(yàn)郵箱與手機(jī)號(hào)

    利用Java正則表達(dá)式校驗(yàn)郵箱與手機(jī)號(hào)

    利用Java正則表達(dá)式校驗(yàn)郵箱與手機(jī)號(hào)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10

最新評(píng)論