二維碼
        企資網

        掃一掃關注

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

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

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

        前言在持久層框架中 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

        反饋

        用戶
        反饋

        主站蜘蛛池模板: 日本v片免费一区二区三区 | 国产一区二区三区在线2021| 中文字幕在线观看一区二区| 亚洲一区动漫卡通在线播放| 久久精品中文字幕一区| 亚洲国产精品无码第一区二区三区 | 成人精品一区二区三区校园激情| 国产在线观看一区二区三区精品| 国产伦精品一区二区三区精品| 男插女高潮一区二区| 蜜桃视频一区二区三区在线观看| 中文字幕一区二区三区在线播放 | 人妻天天爽夜夜爽一区二区| 国产午夜毛片一区二区三区| chinese国产一区二区| 欧洲精品码一区二区三区免费看| 大香伊人久久精品一区二区| 91精品福利一区二区| 亚洲AV美女一区二区三区| 久久精品国产一区| 亚洲一区精品中文字幕| 无码人妻品一区二区三区精99| 日本一区二区不卡视频 | 精品无码成人片一区二区| 无码一区二区波多野结衣播放搜索 | 午夜影视日本亚洲欧洲精品一区 | 国产一区高清视频| 精品一区二区三区四区电影| 日本美女一区二区三区| 久久影院亚洲一区| 无码人妻精品一区二区三区99仓本| 日本免费一区二区三区| 亚洲Av高清一区二区三区| 国产乱码一区二区三区| 日韩三级一区二区三区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 日韩人妻无码一区二区三区99| 一区高清大胆人体| 中文字幕乱码亚洲精品一区 | 丰满岳妇乱一区二区三区| 国产一区二区三区在线影院|