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

零基礎(chǔ)搭建boot+MybatisPlus的詳細(xì)教程

 更新時(shí)間:2022年03月20日 09:14:42   作者:丑陽(yáng)璐  
這篇文章主要介紹了零基礎(chǔ)搭建boot+MybatisPlus,首先需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)表和創(chuàng)建boot項(xiàng)目使用mybatisplus操作數(shù)據(jù)庫(kù),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

1.準(zhǔn)備工作

1.1 創(chuàng)建數(shù)據(jù)庫(kù)表

創(chuàng)建表

CREATE  TABLE `login`(
   `id`  INT(4)  primary key auto_increment,
   `login_id`  VARCHAR(50)  UNIQUE,
   `city` VARCHAR(50)  DEFAULT  '富平',
   `password`  VARCHAR(50)
)

在可視化工具中添加數(shù)據(jù)(我不太會(huì)寫sql)

1.2 創(chuàng)建boot項(xiàng)目

1.3 創(chuàng)建實(shí)體類(映射數(shù)據(jù)庫(kù)表)

2.使用mybatisPlus(操作數(shù)據(jù)庫(kù))

2.1 添加mybatisPlus依賴

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.1.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2.2 配置數(shù)據(jù)庫(kù)信息

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test0314?characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

2.3 創(chuàng)建mapper接口

該接口中提供了常用的crud方法,我們只需要從容器中獲取mapper操作數(shù)據(jù)即可

package com.hand.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hand.demo.entity.User;

/**
 * 用戶數(shù)據(jù)訪問(wèn)層接口
 * */
public interface UserMapper extends BaseMapper<User> {
}

2.4 配置mapper掃描

  • 在啟動(dòng)類中配置我們的mapper在哪個(gè)包
  • 兩種方法:@Mapper注解(麻煩);@MapperScan(在主啟動(dòng)類上進(jìn)行配置)
@SpringBootApplication
@MapperScan("com.hand.demo.mapper")
public class Demo0318Application {
    public static void main(String[] args) {
        SpringApplication.run(Demo0318Application.class, args);
    }
}

2.5 test

 <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

在test包下

package com.hand.demo;
import com.hand.demo.entity.User;
import com.hand.demo.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class Demo0318ApplicationTests {
    @Autowired
    private UserMapper userMapper;
    /**
     * 獲取UserMapper實(shí)現(xiàn)類對(duì)象(mybatisPlus容器會(huì)使用動(dòng)態(tài)代理生成該接口的實(shí)現(xiàn)類對(duì)象,并注入到spring容器中
     * 所以我們只需要在這定義一個(gè)成員變量,通過(guò)注解自動(dòng)注入即可)
     * */
    @Test
    public void testQueryAll() {
        List<User> userList = userMapper.selectList(null);
        System.out.println(userList);
    }
}

3. 常用設(shè)置

3.1 設(shè)置表映射規(guī)則

設(shè)置表前綴配置

3.2 主鍵生成策略(默認(rèn)基于雪花算法)

 @TableId(type = IdType.AUTO)
    private Long id;

3.3 全局設(shè)置

mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto

3.4 字段與列名的駝峰映射(默認(rèn)開(kāi)啟)

mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto
  configuration:
    map-underscore-to-camel-case: false  

3.5 日志設(shè)置

mybatis-plus:
  global-config:
    db-config:
      table-prefix:
      id-type: auto
  configuration:
    map-underscore-to-camel-case: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

4.基操

4.1 插入 insert()

4.2 刪除 deleteXxx() map

4.3 更新 updateXxx()

5.Wrapper(條件構(gòu)造器)

5.1

 Wrapper
           AbstractWrapper    
    QueryWrapper   UpdateWrapper 

QueryWrapper的select可以設(shè)置需要查詢的列

6. service層使用

  • 不需要手動(dòng)注入該泛型內(nèi)的mapper
  • 如果需要?jiǎng)e的mapper手動(dòng)注入就行
package com.hand.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hand.demo.entity.User;

public interface UserService extends IService<User> {
    
}
package com.hand.demo.service.Impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hand.demo.entity.User;
import com.hand.demo.mapper.UserMapper;
import com.hand.demo.service.UserService;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    
}
    @Autowired
    private UserService userService;

    @Test
    public void testService() {
        List<User> list = userService.list();
        System.out.println(list);
    }
  • 也有自己的批量操作等(batch)
  • 自定義方法(多表關(guān)聯(lián))

7. 代碼生成器(未完待續(xù))

  • 每個(gè)接口都在繼承相同的BaseMapper,IService(代碼冗余,繁瑣)
  • MybatisPlus提供的代碼生成器,一鍵生成mvc三層所有代碼
  • 如何使用,引入下邊的包
 <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
        </dependency>

到此這篇關(guān)于零基礎(chǔ)搭建boot+MybatisPlus的文章就介紹到這了,更多相關(guān)boot+MybatisPlus搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • @Data注解在Boolean類型屬性上的大坑及解決

    @Data注解在Boolean類型屬性上的大坑及解決

    在使用@Data注解時(shí),如果類中存在Boolean類型的屬性,且屬性名不是以"is"開(kāi)頭,那么@Data注解生成的get方法名會(huì)默認(rèn)加上"is",導(dǎo)致屬性值無(wú)法成功拷貝,解決方法是手動(dòng)添加get方法,覆蓋@Data注解生成的方法
    2024-10-10
  • Java 實(shí)現(xiàn)完整功能的學(xué)生管理系統(tǒng)實(shí)例

    Java 實(shí)現(xiàn)完整功能的學(xué)生管理系統(tǒng)實(shí)例

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)完整版學(xué)生管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • SpringBoot集成itext實(shí)現(xiàn)html轉(zhuǎn)PDF

    SpringBoot集成itext實(shí)現(xiàn)html轉(zhuǎn)PDF

    iText是著名的開(kāi)放源碼的站點(diǎn)sourceforge一個(gè)項(xiàng)目,是用于生成PDF文檔的一個(gè)java類庫(kù),本文主要介紹了如何利用itext實(shí)現(xiàn)html轉(zhuǎn)PDF,需要的可以參考下
    2024-03-03
  • Java Jwt庫(kù)的簡(jiǎn)介及使用詳解

    Java Jwt庫(kù)的簡(jiǎn)介及使用詳解

    JWT 是開(kāi)放的行業(yè)標(biāo)準(zhǔn)RFC7591,用來(lái)實(shí)現(xiàn)端到端安全驗(yàn)證,就是通過(guò)一些算法對(duì)加密字符串和JSON對(duì)象之間進(jìn)行加解密,下面通過(guò)本文給大家介紹Java Jwt庫(kù)的簡(jiǎn)介及使用,感興趣的朋友一起看看吧
    2021-11-11
  • 新手了解java 類,對(duì)象以及封裝基礎(chǔ)知識(shí)

    新手了解java 類,對(duì)象以及封裝基礎(chǔ)知識(shí)

    JS是一門面向?qū)ο笳Z(yǔ)言,其對(duì)象是用prototype屬性來(lái)模擬的,本文介紹了如何封裝JS對(duì)象,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧,希望對(duì)你有所幫助
    2021-07-07
  • java如何不通過(guò)構(gòu)造函數(shù)創(chuàng)建對(duì)象(Unsafe)

    java如何不通過(guò)構(gòu)造函數(shù)創(chuàng)建對(duì)象(Unsafe)

    這篇文章主要介紹了java如何不通過(guò)構(gòu)造函數(shù)創(chuàng)建對(duì)象(Unsafe)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 在spring-boot工程中添加spring mvc攔截器

    在spring-boot工程中添加spring mvc攔截器

    這篇文章主要介紹了在spring-boot工程中添加spring mvc攔截器,Spring MVC的攔截器(Interceptor)不是Filter,同樣可以實(shí)現(xiàn)請(qǐng)求的預(yù)處理、后處理。,需要的朋友可以參考下
    2019-06-06
  • Java 定時(shí)器(Timer,TimerTask)詳解及實(shí)例代碼

    Java 定時(shí)器(Timer,TimerTask)詳解及實(shí)例代碼

    這篇文章主要介紹了 Java 定時(shí)器(Timer,TimerTask)詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 深入了解MyBatis參數(shù)

    深入了解MyBatis參數(shù)

    今天小編就為大家分享一篇關(guān)于深入了解MyBatis參數(shù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 如何使用Spring工具類動(dòng)態(tài)匹配url

    如何使用Spring工具類動(dòng)態(tài)匹配url

    這篇文章主要介紹了如何使用Spring工具類動(dòng)態(tài)匹配url,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論

泸溪县| 中牟县| 股票| 衡东县| 上蔡县| 观塘区| 汤阴县| 贵港市| 广汉市| 杂多县| 罗城| 灵石县| 青冈县| 营口市| 抚远县| 肃宁县| 嵊泗县| 河间市| 马公市| 桃园县| 彭阳县| 青海省| 永靖县| 赫章县| 永新县| 望都县| 嘉黎县| 安化县| 安泽县| 元阳县| 涟水县| 沙田区| 南开区| 利津县| 安多县| 宽甸| 四会市| 和硕县| 同德县| 繁峙县| 安庆市|