二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快報 » 品牌 » 正文

        幾分鐘就可以上手_MP,帶你Mybati

        放大字體  縮小字體 發布日期:2021-09-20 14:28:54    作者:楊洋陽    瀏覽次數:38
        導讀

        前言在持久層框架中 mybatis 應用比較多,而且比重在逐漸的上升。通常項目的組合是 SSM。mybatis 之所以火,是因為他的靈活,使用方便,優化比較容易。mybatis 的直接執行 sql 語句, sql 語句是寫在 xml 文件中,使

        前言

        在持久層框架中 mybatis 應用比較多,而且比重在逐漸的上升。通常項目的組合是 SSM。mybatis 之所以火,是因為他的靈活,使用方便,優化比較容易。

        mybatis 的直接執行 sql 語句, sql 語句是寫在 xml 文件中,使用 mybatis 需要多個 xml 配置文件,在一定程度上比較繁瑣。一般數據庫的操作都要涉及到CURD。

        mybatis-plus 是在 mybatis 上的增強,減少了 xml 的配置,幾乎不用編寫 xml就可以做到單表的 CURD,很是方便,極大提供了開發的效率。 我們寫程序目的就是讓生活更加簡單。

        什么是 mybatis-plus?

        MyBatis-Plus(簡稱 MP)是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。

        MyBatis-Plus 在 MyBatis 之上套了一層外衣,單表 CURD 的操作幾乎都可以由 MyBatis-Plus 代替執行。而且提供了各種查詢方式,分頁行為。作為使用者無需編寫 xml,直接調用 MyBatis-Plus 提供的 API 就可以了。

        快速開始

        幾分鐘就可以上手 MP,前提是需要熟悉 mybatis,spring 或 spring boot, maven,掌握 lambda 表達式更能提升效率。

        準備環境:

      1. 擁有 Java 開發環境以及相應 IDE
      2. 熟悉 Spring Boot
      3. 熟悉 Maven

        準備數據表

        create database user;use user;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `email` varchar(80) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;insert into user values(null,'張三','666666@qq',18);

        IDEA中配置 maven

        創建 spring boot 應用

        使用 Spring Initializr 快速初始化一個 Spring Boot 工程
        idea 中 File – New Project 選擇 Spring Initializr 后填寫項目信息,創建工程。

        項目信息

        依賴選擇SQL中的MyBatis framework

        定義項目名稱和路徑

        pom文件添加mybatis-plus依賴

        <!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version></dependency><!-- mysql驅動 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.25</version></dependency>

        application.properties或application.yml 添加數據庫配置

        spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/userspring.datasource.username=rootspring.datasource.password=root

        spring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://127.0.0.1:3306/user    username: root    password: root

        創建實體類

        @TableId 設置主鍵, IdType.AUTO 使用自動增長產生主鍵

        創建mapper接口

        繼承 MyBatis Plus 中的 baseMapper , 在 UserMapper 中使用 MP 中的方法,實
        現 CURD。

        添加@MapperScan 掃描 Mapper 文件夾

        測試

        查看數據庫

        配置 mybatis 日志

        mybatis-plus:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

        CRUD 基本用法

        CRUD 的操作是來自 baseMapper 中的方法。baseMapper 中共有 17 個方法,CRUD 操作都有多個不同參數的方法。繼承 baseMapper 可以其中的方法。

        baseMapper 方法列表:

        insert 操作


        注:insert()返回值 int,數據插入成功的行數,成功的記錄數。getId()獲取主鍵值,成功影響行數后會自動將主鍵值賦值給實體類的主鍵id。

        update 操作


        更新之前的數據庫

        更新后的數據庫

        注意:null 的字段不更新

        沒有設置email的字段,所以此時的email的字段為null

        SQL語句沒有設置email

        數據庫

        delete 操作

        刪除有多個方法
        deleteById:按主鍵刪除

        根據 Map 中條件刪除

        注:刪除條件封裝在 Map 中,key 是列名,value 是值,多個 key 之間 and 聯接。

        日志:

        批量刪除

        把要刪除的 id 放入 List ,傳給 deleteBatchIds()

        日志:


        select 操作

        注:沒有查詢結果,不會報錯。

        日志

        批量查詢記錄

        注:根據 id 查詢記錄,把需要查詢的多個 id 存入到 List,調用 selectBatchIds(),

        日志

        使用 Map 的條件查詢
        把要查詢的條件字段 put 到 Map,key 是字段,value 是條件值。多個條件是 and聯接。調用 selectByMap(),傳入 Map 作為參數,返回值是 List 集合。

        日志

      4.  
        (文/楊洋陽)
        免責聲明
        本文僅代表作發布者:楊洋陽個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 日产一区日产2区| 无码人妻精品一区二区蜜桃| 91一区二区在线观看精品| 中文字幕一区视频| 奇米精品一区二区三区在线观看| 国产成人一区二区三区| 亚洲狠狠狠一区二区三区| 国产综合一区二区| 中文字幕AV一区中文字幕天堂| 国产在线观看91精品一区| 国模精品视频一区二区三区| 乱精品一区字幕二区| 午夜天堂一区人妻| 无码人妻精品一区二区三区久久| 人妻内射一区二区在线视频| 精品一区二区三区四区电影| 国产伦精品一区二区三区无广告 | 精品91一区二区三区| 无码喷水一区二区浪潮AV| 无码国产精品一区二区免费I6| 亚洲日韩AV一区二区三区中文| 亚洲Av高清一区二区三区| 国产大秀视频在线一区二区| 久久er99热精品一区二区 | 欧美日韩综合一区二区三区| 国产精品香蕉在线一区| 成人欧美一区二区三区在线视频| 多人伦精品一区二区三区视频| 国产精品乱码一区二区三| 国产精品美女一区二区| 国产不卡视频一区二区三区 | 国内精自品线一区91| 国产精品无码一区二区三区不卡| 韩国一区二区三区视频| 波多野结衣一区在线观看| 人妻免费一区二区三区最新| 亚洲AV综合色一区二区三区 | 一区二区在线电影| 精品一区二区三区四区在线播放| 亚洲av无码成人影院一区| 波多野结衣一区在线观看|