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

SpringBoot整合Mybatis-plus案例及用法實(shí)例

 更新時(shí)間:2022年11月24日 10:06:26   作者:qq_42281649  
mybatis-plus是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合Mybatis-plus案例及用法實(shí)例的相關(guān)資料,需要的朋友可以參考下

一、mybatis-plus簡(jiǎn)介:

Mybatis-Plus(簡(jiǎn)稱(chēng)MP)是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。這是官方給的定義,關(guān)于mybatis-plus的更多介紹及特性,可以參考mybatis-plus官網(wǎng)。那么它是怎么增強(qiáng)的呢?其實(shí)就是它已經(jīng)封裝好了一些crud方法,我們不需要再寫(xiě)xml了,直接調(diào)用這些方法就行,就類(lèi)似于JPA。并且3.X系列支持lambda語(yǔ)法,讓我在寫(xiě)條件構(gòu)造的時(shí)候少了很多的"魔法值",從代碼結(jié)構(gòu)上更簡(jiǎn)潔了.

二、springboot整合mybatis-plus案例

pom.xml配置

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!--springboot程序測(cè)試依賴(lài),如果是自動(dòng)創(chuàng)建項(xiàng)目默認(rèn)添加-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
      <scope>provided</scope>
    </dependency>
    <!-- 包含spirng Mvc ,tomcat的包包含requestMapping restController 等注解 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>1.1.10</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!-- druid依賴(lài) -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.0</version>
    </dependency>
    <!-- mybatisPlus 核心庫(kù) -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.1.0</version>
    </dependency>
  </dependencies>

application.yml配置

server:
  port: 10100   #  配置啟動(dòng)端口號(hào)
 
mybatis:
  config-location: classpath:mybatis.cfg.xml    #  mybatis主配置文件所在路徑
  type-aliases-package: com.demo.drools.entity  #  定義所有操作類(lèi)的別名所在包
  mapper-locations:                                     #  所有的mapper映射文件
    - classpath:mapper/*.xml
 
spring: #springboot的配置
  datasource: #定義數(shù)據(jù)源
    #127.0.0.1為本機(jī)測(cè)試的ip,3306是mysql的端口號(hào)。serverTimezone是定義時(shí)區(qū),照抄就好,mysql高版本需要定義這些東西
    #useSSL也是某些高版本mysql需要問(wèn)有沒(méi)有用SSL連接
    url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8&useSSL=FALSE
    username: root  #數(shù)據(jù)庫(kù)用戶(hù)名,root為管理員
    password: 123456 #該數(shù)據(jù)庫(kù)用戶(hù)的密碼
    # 使用druid數(shù)據(jù)源
    type: com.alibaba.druid.pool.DruidDataSource
 
# mybatis-plus相關(guān)配置
mybatis-plus:
  # xml掃描,多個(gè)目錄用逗號(hào)或者分號(hào)分隔(告訴 Mapper 所對(duì)應(yīng)的 XML 文件位置)
  mapper-locations: classpath:mapper/*.xml
  # 以下配置均有默認(rèn)值,可以不設(shè)置
  global-config:
    db-config:
      #主鍵類(lèi)型 AUTO:"數(shù)據(jù)庫(kù)ID自增" INPUT:"用戶(hù)輸入ID",ID_WORKER:"全局唯一ID (數(shù)字類(lèi)型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: auto
      #字段策略 IGNORED:"忽略判斷"  NOT_NULL:"非 NULL 判斷")  NOT_EMPTY:"非空判斷"
      field-strategy: NOT_EMPTY
      #數(shù)據(jù)庫(kù)類(lèi)型
      db-type: MYSQL
  configuration:
    # 是否開(kāi)啟自動(dòng)駝峰命名規(guī)則映射:從數(shù)據(jù)庫(kù)列名到Java屬性駝峰命名的類(lèi)似映射
    map-underscore-to-camel-case: true
    # 如果查詢(xún)結(jié)果中包含空值的列,則 MyBatis 在映射的時(shí)候,不會(huì)映射這個(gè)字段
    call-setters-on-nulls: true
    # 這個(gè)配置會(huì)將執(zhí)行的sql打印出來(lái),在開(kāi)發(fā)或測(cè)試的時(shí)候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

用戶(hù)信息實(shí)體

package com.demo.drools.entity;
 
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:14
 */
@Data
@TableName("user_info")//@TableName中的值對(duì)應(yīng)著表名
public class UserInfoEntity {
    /**
     * 主鍵
     * @TableId中可以決定主鍵的類(lèi)型,不寫(xiě)會(huì)采取默認(rèn)值,默認(rèn)值可以在yml中配置
     * AUTO: 數(shù)據(jù)庫(kù)ID自增
     * INPUT: 用戶(hù)輸入ID
     * ID_WORKER: 全局唯一ID,Long類(lèi)型的主鍵
     * ID_WORKER_STR: 字符串全局唯一ID
     * UUID: 全局唯一ID,UUID類(lèi)型的主鍵
     * NONE: 該類(lèi)型為未設(shè)置主鍵類(lèi)型
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 姓名
     */
    private String name;
    /**
     * 年齡
     */
    private Integer age;
    /**
     * 技能
     */
    private String skill;
    /**
     * 評(píng)價(jià)
     */
    private String evaluate;
    /**
     * 分?jǐn)?shù)
     */
    private Long fraction;
}

config類(lèi)

package com.demo.drools.config;
 
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
import org.springframework.context.annotation.Bean;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:14
 */
public class MybatisPlusConfig {
    /**
     * mybatis-plus SQL執(zhí)行效率插件【生產(chǎn)環(huán)境可以關(guān)閉】
     */
    @Bean
    public PerformanceInterceptor performanceInterceptor() {
        return new PerformanceInterceptor();
    }
    /**
     * 分頁(yè)插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

spring boot啟動(dòng)類(lèi)

package com.demo.drools;
 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
/**
 * @author 于嘉琪
 */
@SpringBootApplication
//@MapperScan和dao層添加@Mapper注解意思一樣
@MapperScan(basePackages = "com.demo.drools.dao")
public class DroolsApplication {
    public static void main(String[] args) {
        SpringApplication.run(DroolsApplication.class, args);
    }
}

dao層

package com.demo.drools.dao;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.demo.drools.entity.UserInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
 
/**
 * 用戶(hù)信息DAO
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:16
 */
@Mapper
public interface UserInfoDao extends BaseMapper<UserInfoEntity> {
   
}

service層

package com.demo.drools.service;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.demo.drools.entity.UserInfoEntity;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:17
 */
public interface UserInfoService extends IService<UserInfoEntity> {
    
}

serviceImpl實(shí)現(xiàn)類(lèi)層

package com.demo.drools.service.impl;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.demo.drools.dao.UserInfoDao;
import com.demo.drools.entity.UserInfoEntity;
import com.demo.drools.service.UserInfoService;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:18
 */
@Service
public class UserInfoSerivceImpl extends ServiceImpl<UserInfoDao, UserInfoEntity> implements UserInfoService {
    
}

controller控制層

package com.demo.drools.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.drools.entity.UserInfoEntity;
import com.demo.drools.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:28
 */
public class UserInfoPlusController {
    @Autowired
    private UserInfoService userInfoService;
    
    /**
     * MP擴(kuò)展演示
     * @Author Sans
     * @CreateTime 2019/6/8 16:37
     * @Return Map<String,Object> 返回?cái)?shù)據(jù)
     */
    @RequestMapping("/getInfoListPlus")
    public Map<String,Object> getInfoListPage(){
        //初始化返回類(lèi)
        Map<String,Object> result = new HashMap<>();
        //查詢(xún)年齡等于18歲的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE age = 18
        QueryWrapper<UserInfoEntity> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.lambda().eq(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList1 = userInfoService.list(queryWrapper1);
        result.put("studentAge18",userInfoEntityList1);
        //查詢(xún)年齡大于5歲的學(xué)生且小于等于18歲的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE age > 5 AND age <= 18
        QueryWrapper<UserInfoEntity> queryWrapper2 = new QueryWrapper<>();
        queryWrapper2.lambda().gt(UserInfoEntity::getAge,5);
        queryWrapper2.lambda().le(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList2 = userInfoService.list(queryWrapper2);
        result.put("studentAge5",userInfoEntityList2);
        //模糊查詢(xún)技能字段帶有"畫(huà)"的數(shù)據(jù),并按照年齡降序
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE skill LIKE '%畫(huà)%' ORDER BY age DESC
        QueryWrapper<UserInfoEntity> queryWrapper3 = new QueryWrapper<>();
        queryWrapper3.lambda().like(UserInfoEntity::getSkill,"畫(huà)");
        queryWrapper3.lambda().orderByDesc(UserInfoEntity::getAge);
        List<UserInfoEntity> userInfoEntityList3 = userInfoService.list(queryWrapper3);
        result.put("studentAgeSkill",userInfoEntityList3);
        //模糊查詢(xún)名字帶有"小"或者年齡大于18的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE name LIKE '%小%' OR age > 18
        QueryWrapper<UserInfoEntity> queryWrapper4 = new QueryWrapper<>();
        queryWrapper4.lambda().like(UserInfoEntity::getName,"小");
        queryWrapper4.lambda().or().gt(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList4 = userInfoService.list(queryWrapper4);
        result.put("studentOr",userInfoEntityList4);
        //查詢(xún)?cè)u(píng)價(jià)不為null的學(xué)生,并且分頁(yè)
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE evaluate IS NOT NULL LIMIT 0,5
        IPage<UserInfoEntity> page = new Page<>();
        page.setCurrent(1);
        page.setSize(5);
        QueryWrapper<UserInfoEntity> queryWrapper5 = new QueryWrapper<>();
        queryWrapper5.lambda().isNotNull(UserInfoEntity::getEvaluate);
        page = userInfoService.page(page,queryWrapper5);
        result.put("studentPage",page);
        return result;
    }
}

controller層用到lambda語(yǔ)法

package com.demo.drools.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.demo.drools.entity.UserInfoEntity;
import com.demo.drools.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * TODO your comment
 *
 * @author Yujiaqi
 * @date 2020/12/2 19:28
 */
public class UserInfoPlusController {
    @Autowired
    private UserInfoService userInfoService;
    
    /**
     * MP擴(kuò)展演示
     * @Author Sans
     * @CreateTime 2019/6/8 16:37
     * @Return Map<String,Object> 返回?cái)?shù)據(jù)
     */
    @RequestMapping("/getInfoListPlus")
    public Map<String,Object> getInfoListPage(){
        //初始化返回類(lèi)
        Map<String,Object> result = new HashMap<>();
        //查詢(xún)年齡等于18歲的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE age = 18
        QueryWrapper<UserInfoEntity> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.lambda().eq(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList1 = userInfoService.list(queryWrapper1);
        result.put("studentAge18",userInfoEntityList1);
        //查詢(xún)年齡大于5歲的學(xué)生且小于等于18歲的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE age > 5 AND age <= 18
        QueryWrapper<UserInfoEntity> queryWrapper2 = new QueryWrapper<>();
        queryWrapper2.lambda().gt(UserInfoEntity::getAge,5);
        queryWrapper2.lambda().le(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList2 = userInfoService.list(queryWrapper2);
        result.put("studentAge5",userInfoEntityList2);
        //模糊查詢(xún)技能字段帶有"畫(huà)"的數(shù)據(jù),并按照年齡降序
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE skill LIKE '%畫(huà)%' ORDER BY age DESC
        QueryWrapper<UserInfoEntity> queryWrapper3 = new QueryWrapper<>();
        queryWrapper3.lambda().like(UserInfoEntity::getSkill,"畫(huà)");
        queryWrapper3.lambda().orderByDesc(UserInfoEntity::getAge);
        List<UserInfoEntity> userInfoEntityList3 = userInfoService.list(queryWrapper3);
        result.put("studentAgeSkill",userInfoEntityList3);
        //模糊查詢(xún)名字帶有"小"或者年齡大于18的學(xué)生
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE name LIKE '%小%' OR age > 18
        QueryWrapper<UserInfoEntity> queryWrapper4 = new QueryWrapper<>();
        queryWrapper4.lambda().like(UserInfoEntity::getName,"小");
        queryWrapper4.lambda().or().gt(UserInfoEntity::getAge,18);
        List<UserInfoEntity> userInfoEntityList4 = userInfoService.list(queryWrapper4);
        result.put("studentOr",userInfoEntityList4);
        //查詢(xún)?cè)u(píng)價(jià)不為null的學(xué)生,并且分頁(yè)
        //等價(jià)SQL: SELECT id,name,age,skill,evaluate,fraction FROM user_info WHERE evaluate IS NOT NULL LIMIT 0,5
        IPage<UserInfoEntity> page = new Page<>();
        page.setCurrent(1);
        page.setSize(5);
        QueryWrapper<UserInfoEntity> queryWrapper5 = new QueryWrapper<>();
        queryWrapper5.lambda().isNotNull(UserInfoEntity::getEvaluate);
        page = userInfoService.page(page,queryWrapper5);
        result.put("studentPage",page);
        return result;
    }
}

以上就是mybatis-plus的小案例,mybatis-plus它像我之前使用的spring data jpa框架不用寫(xiě)sql語(yǔ)句,就可以實(shí)現(xiàn)簡(jiǎn)單的增刪改查、批量操作、分頁(yè)mybatis-plus功能還是比較強(qiáng)大,能減少我們寫(xiě)很多代碼,我個(gè)人還是比較喜歡用這個(gè)mybatis-plus的

mybatis-plus只是mybatis的增強(qiáng)版,它不影響mybatis的使用,我們可以寫(xiě)我們自定的方法以及sql,接下來(lái)我們看一個(gè)小案例

dao層新增方法

/**
     * 查詢(xún)大于該分?jǐn)?shù)的學(xué)生
     * @Author Sans
     * @CreateTime 2019/6/9 14:28
     * @Param  page  分頁(yè)參數(shù)
     * @Param  fraction  分?jǐn)?shù)
     * @Return IPage<UserInfoEntity> 分頁(yè)數(shù)據(jù)
     */
    IPage<UserInfoEntity> selectUserInfoByGtFraction(
            @Param(value = "page") IPage<UserInfoEntity> page,
            @Param(value = "fraction")Long fraction);

service新增方法

/**
     * 查詢(xún)大于該分?jǐn)?shù)的學(xué)生
     * @Author Sans
     * @CreateTime 2019/6/9 14:27
     * @Param  page  分頁(yè)參數(shù)
     * @Param  fraction  分?jǐn)?shù)
     * @Return IPage<UserInfoEntity> 分頁(yè)數(shù)據(jù)
     */
    IPage<UserInfoEntity> selectUserInfoByGtFraction(IPage<UserInfoEntity> page,Long fraction);

serviceImpl層新增方法

/**
     * 查詢(xún)大于該分?jǐn)?shù)的學(xué)生
     * @Author Sans
     * @CreateTime 2019/6/9 14:27
     * @Param  page  分頁(yè)參數(shù)
     * @Param  fraction  分?jǐn)?shù)
     * @Return IPage<UserInfoEntity> 分頁(yè)數(shù)據(jù)
     */
    @Override
    public IPage<UserInfoEntity> selectUserInfoByGtFraction(IPage<UserInfoEntity> page, Long fraction) {
        return userInfoDao.selectUserInfoByGtFraction(page,fraction);
    }

controller層新增方法

 /**
     * MP自定義SQL
     * @Author Sans
     * @CreateTime 2019/6/9 14:37
     * @Return IPage<UserInfoEntity> 分頁(yè)數(shù)據(jù)
     */
    @RequestMapping("/getInfoListSQL")
    public IPage<UserInfoEntity> getInfoListSQL(){
        //查詢(xún)大于60分以上的學(xué)生,并且分頁(yè)
        IPage<UserInfoEntity> page = new Page<>();
        page.setCurrent(1);
        page.setSize(5);
        page = userInfoService.selectUserInfoByGtFraction(page,60L);
        return page;
    }

配置我們的mybatis的xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.demo.drools.dao.UserInfoDao">
  <!-- Sans 2019/6/9 14:35 -->
  <select id="selectUserInfoByGtFraction" resultType="com.demo.drools.entity.UserInfoEntity">
    SELECT * FROM user_info WHERE fraction > #{fraction}
    </select>
</mapper>

以上配置就是我們的mybatis用法。

mybatis plus強(qiáng)大的條件構(gòu)造器queryWrapper、updateWrapper

1.QueryWrapper: Entity 對(duì)象封裝操作類(lèi)

2.UpdateWrapper : Update 條件封裝,用于Entity對(duì)象更新操作

3.條件構(gòu)造器使用中的各個(gè)方法格式和說(shuō)明

總結(jié)

到此這篇關(guān)于SpringBoot整合Mybatis-plus案例及用法的文章就介紹到這了,更多相關(guān)SpringBoot整合Mybatis-plus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring boot + LayIM + t-io 實(shí)現(xiàn)文件上傳、 監(jiān)聽(tīng)用戶(hù)狀態(tài)的實(shí)例代碼

    Spring boot + LayIM + t-io 實(shí)現(xiàn)文件上傳、 監(jiān)聽(tīng)用戶(hù)狀態(tài)的實(shí)例代碼

    這篇文章主要介紹了Spring boot + LayIM + t-io 實(shí)現(xiàn)文件上傳、 監(jiān)聽(tīng)用戶(hù)狀態(tài)的實(shí)例代碼,需要的朋友可以參考下
    2017-12-12
  • 淺析springboot通過(guò)面向接口編程對(duì)控制反轉(zhuǎn)IOC的理解

    淺析springboot通過(guò)面向接口編程對(duì)控制反轉(zhuǎn)IOC的理解

    這篇文章主要介紹了springboot通過(guò)面向接口編程對(duì)控制反轉(zhuǎn)IOC的理解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-08-08
  • 解決使用@ResponseBody后返回500錯(cuò)誤的問(wèn)題

    解決使用@ResponseBody后返回500錯(cuò)誤的問(wèn)題

    這篇文章主要介紹了解決使用@ResponseBody后返回500錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • SpringBoot自定義對(duì)象參數(shù)超詳細(xì)介紹作用

    SpringBoot自定義對(duì)象參數(shù)超詳細(xì)介紹作用

    SpringBoot通過(guò)自定義對(duì)象參數(shù),可以實(shí)現(xiàn)自動(dòng)類(lèi)型轉(zhuǎn)換與格式化,并可以級(jí)聯(lián)封裝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • Java如何求交集、并集、差集

    Java如何求交集、并集、差集

    這篇文章主要介紹了Java如何求交集、并集、差集問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • java8中Stream的使用以及分割list案例

    java8中Stream的使用以及分割list案例

    這篇文章主要介紹了java8中Stream的使用以及分割list案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • SpringBoot如何使用Fastjson解析Json數(shù)據(jù)

    SpringBoot如何使用Fastjson解析Json數(shù)據(jù)

    這篇文章主要介紹了SpringBoot如何使用Fastjson解析Json數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Springboot+Hutool自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏

    Springboot+Hutool自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏

    我們?cè)陧?xiàng)目中會(huì)處理敏感數(shù)據(jù)時(shí),通常需要對(duì)這些數(shù)據(jù)進(jìn)行脫敏,本文主要使用了Springboot整合Hutool來(lái)自定義注解實(shí)現(xiàn)數(shù)據(jù)脫敏,感興趣的可以理解下
    2023-10-10
  • SpringMVC存取Session的兩種方法

    SpringMVC存取Session的兩種方法

    Spring MVC是個(gè)非常優(yōu)秀的框架,本篇文章主要介紹了SpringMVC存取Session的兩種方法,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Java?HttpURLConnection使用方法與實(shí)例演示分析

    Java?HttpURLConnection使用方法與實(shí)例演示分析

    這篇文章主要介紹了Java?HttpURLConnection使用方法與實(shí)例演示,HttpURLConnection一個(gè)抽象類(lèi)是標(biāo)準(zhǔn)的JAVA接口,該類(lèi)位于java.net包中,它提供了基本的URL請(qǐng)求,響應(yīng)等功能,下面我們來(lái)深入看看
    2023-10-10

最新評(píng)論