日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot mybatis-plus配置及用法詳解

瀏覽:13日期:2023-04-19 14:50:29

本節內容擴展介紹下針對mybatis的增強工具mybatis-plus,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。

二話不多說,我們先寫編寫個簡單的例子,讓大家先初步的了解下mybatis-plus。

1.mybatis-plus初步實例

(1)創建一個spring boot web工程(具體創建過程就不再演示了,還不會的同學去看看spring boot專題第一節內容)

(2)引入依賴

<!--web項目依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--validation表單校驗--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <!--mysql驅動--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--thymeleaf依賴包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>

(3)配置文件application.yml

# DataSource Config spring: datasource: username: root password: tx@mysql@2020 url: jdbc:mysql://188.131.233.55:3306/spring_boot_topic driver-class-name: com.mysql.cj.jdbc.Driver(4)

(4)實體類User

package com.kinglead.demo.domain; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; ​ @Data @TableName(value = 't_user') //指明數據庫表名 public class User { private Long id; private String name; private Integer age; private String email; }

(5)創建Mapper接口

package com.kinglead.demo.mapper; ​ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.kinglead.demo.domain.User; ​ //未來使用mybatis-plus的公共接口,必須繼承BaseMapper public interface UserMapper extends BaseMapper<User> { }

(6)創建Service接口

UserService

package com.kinglead.demo.service; import com.kinglead.demo.domain.User; import java.util.List; public interface UserService { List<User> queryUserList(); }

UserServiceImpl

package com.kinglead.demo.service.impl; ​ import com.kinglead.demo.domain.User; import com.kinglead.demo.mapper.UserMapper; import com.kinglead.demo.service.UserService; import org.springframework.stereotype.Service; ​ import javax.annotation.Resource; import java.util.List; ​ @Service public class UserServiceImpl implements UserService { @Resource private UserMapper userMapper; @Override public List<User> queryUserList() { //使用mybatis-plus公共查詢接口完成列表查詢 return userMapper.selectList(null); } }

(7)創建controller

package com.kinglead.demo.controller; ​ import com.kinglead.demo.domain.User; import com.kinglead.demo.service.UserService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; ​ import javax.annotation.Resource; import java.util.List; ​ @Controller @RequestMapping('/user') public class UserController { ​ @Resource private UserService userService; ​ @RequestMapping('/userList') public ModelAndView queryUserList(ModelAndView modelAndView){ List<User> userList = userService.queryUserList(); modelAndView.addObject('userList', userList); modelAndView.setViewName('userList'); return modelAndView; } ​ }

(8)用戶列表頁面

<!DOCTYPE html> <html xmlns:th='http://www.thymeleaf.org'> <head> <meta http-equiv='Content-Type' content='text/html;charset=UTF-8' /> <title>用戶信息</title> <!--<link rel='stylesheet' type='text/css' href='http://m.b3g6.com/css/common.css' rel='external nofollow' />--> <style type='text/css'> table { border: 1px solid black; text-align: center; border-collapse: collapse; } table thead th { border: 1px solid black; } table tbody td { border: 1px solid black; } </style> </head> <body> <div> <h2>用戶列表</h2> </div> <table cellpadding='0' cellspacing='0'> <thead> <th>序號</th> <th>編碼</th> <th>用戶名</th> </thead> <tbody> <tr th:each='entries,stat:${userList}' th:style='’ color: rgb(17, 119, 0);'>> <td th:text='${stat.count}'></td> <td th:text='${entries[’id’]}'></td> <td th:text='${entries[’name’]}'></td> </tr> </tbody> </table> </body> </html>

(9)啟動類

package com.kinglead.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan('com.kinglead.demo.mapper') public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } }

(10)測試訪問

Springboot mybatis-plus配置及用法詳解

小結

我們能看到mybatis-plus通過對mybatis的加強,能在不寫mapper.xml文件的情況下,完成簡單的CRUD的操作??吹竭@里,有的小伙伴可能會想,這和JPA有什么不一樣,直接用JPA不就好啦。

下面我們來對比下他們倆的區別:要說mybatis-plus,得先說mybatis。mybatis比較接近原生sql,要想使用的好,需要很好的sql基礎,所有的數據庫操作都必須寫sql語句;JPA是對hibernate的封裝,提取了很多CRUD的公共方法,可以在不寫sql的情況下完成不復雜的CRUD;mybatis-plus是mybatis的增強工具,天生擁有mybatis的優勢,也具備像JPA一樣擁有很多CRUD的公共方法,簡單的sql直接調用,不要編寫語句。

那我們該如何選擇他們呢?沒有哪個框架是最優的,主要還是要根據實際項目情況而定。如果項目不復雜,涉及不到很多復雜的數據處理,那么建議考慮JPA。如果項目復雜,涉及到很多復雜的數據處理,那么建議考慮mybatis或mybatis-plus,在這基礎上,如果想簡化mybatis,可以考慮mybatis-plus。

本節內容只是展示了mybatis-plus的冰山一角,它還有擁有很多特色功能,如支持主鍵字段生成、內置分頁插件等。

源碼地址:https://github.com/kinglead2012/myblog

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产91精品对白在线播放| 欧美va亚洲va日韩∨a综合色| 美腿丝袜亚洲三区| 日本а中文在线天堂| 亚洲精品一二三区区别| 日韩有吗在线观看| 日本午夜精品久久久久| 亚洲精品一区二区在线播放∴| 日韩精品成人| 麻豆精品久久| 亚洲网站视频| 国产精品久久久网站| 欧美日韩亚洲在线观看| 最新亚洲一区| 麻豆一区二区三| 国产精品伊人| 欧美天堂视频| 日本欧美一区二区在线观看| 国产精品蜜芽在线观看| 最新亚洲国产| 欧美1区2区3区| 国产精品1区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品yjizz视频网| 一区二区不卡| 国产一区二区精品福利地址| 亚洲精品动态| 国产一区日韩欧美| 黄色aa久久| 精品精品国产三级a∨在线| 五月亚洲婷婷 | 麻豆一区二区三区| 日韩精品一区二区三区中文字幕| 99久久激情| 亚洲综合在线电影| 日韩一区二区三区免费| 欧美视频二区| 亚洲成人精品| 亚洲精品网址| 一区在线免费观看| 中文久久精品| 视频一区在线播放| 天堂俺去俺来也www久久婷婷| 三级在线观看一区二区| 久久国产66| 大香伊人久久精品一区二区 | 久久福利精品| 中文字幕亚洲影视| 日本在线成人| 精品国产美女a久久9999| 国产精品毛片久久| 亚洲女同av| 国产高清久久| 老鸭窝亚洲一区二区三区| 婷婷中文字幕一区| 鲁大师影院一区二区三区| 亚洲香蕉视频| 国语精品一区| 免费黄色成人| 天堂av在线一区| 青青草伊人久久| 动漫av一区| 欧美日韩国产免费观看视频| 久久一区二区三区电影| 亚洲专区欧美专区| 日本不卡中文字幕| 福利欧美精品在线| 中文日韩欧美| 精品一区电影| 亚洲午夜国产成人| 国产精品亚洲欧美| 精品高清久久| 日韩精品视频一区二区三区| 日韩欧美久久| 国产一区二区三区四区| 精品视频网站| 久久99偷拍| 日韩av成人高清| 日韩有吗在线观看| 在线精品亚洲| 夜久久久久久| 日本少妇一区| 国产极品久久久久久久久波多结野| 欧美特黄一区| 精品捆绑调教一区二区三区| 国产精品一区高清| 国产一区白浆| 国产精品一区二区三区美女| 久久久精品网| 精品91福利视频| 亚洲精品观看| 男人天堂欧美日韩| 99亚洲视频| 五月天综合网站| 日韩精品欧美| 国产精品亚洲四区在线观看| 一区二区国产精品| 久久xxxx| 综合国产视频| 中文字幕av一区二区三区人| 亚洲一区日韩| 狠狠久久婷婷| 欧美高清一区| 日本久久综合| 国产精品蜜芽在线观看| 国产一区二区三区不卡av| 久久av免费| 天堂av在线| 精品丝袜在线| 亚洲一区二区免费看| 免费看精品久久片| 精品日本视频| 伊人精品视频| 99国产精品私拍| 中文字幕av一区二区三区人| 欧美日韩午夜电影网| 另类小说一区二区三区| 国产成人免费av一区二区午夜| 国产精品99久久免费| 久久影院午夜精品| 精品在线网站观看| 欧美精品97| 99国产精品99久久久久久粉嫩| 91久久中文| 国产欧美一级| 妖精视频成人观看www| 日韩精品视频网站| av资源中文在线天堂| 蜜臀久久99精品久久久久宅男| 在线视频亚洲| 国产福利资源一区| 欧美a级片一区| 国产精品一区二区av交换 | 精品视频在线一区二区在线| 日韩成人三级| 三级在线观看一区二区| 视频一区中文字幕精品| 高清av一区| 亚洲精品动态| 久久免费视频66| 免费视频一区三区| 麻豆mv在线观看| 欧美亚洲综合视频| av成人国产| 99久久婷婷| 麻豆视频在线观看免费网站黄| 99精品在线| 久久av国产紧身裤| 亚洲婷婷丁香| 亚洲精品麻豆| 亚洲欧美日韩国产综合精品二区 | 日韩高清在线不卡| 欧美亚洲激情| 福利视频一区| 视频在线观看国产精品| 麻豆中文一区二区| 深夜福利一区| 国产一区调教| 国产日韩欧美三区| 中文字幕在线高清| 日本vs亚洲vs韩国一区三区二区| 国产传媒在线| 精品国产乱码| 久久av国产紧身裤| 国产精品对白| 成人一区不卡| 综合在线一区| 六月天综合网| 麻豆91精品| 国产精品色网| 六月婷婷一区| 久久亚洲欧美| 日韩网站中文字幕| 亚洲免费福利一区| 国产美女精品视频免费播放软件| 日本 国产 欧美色综合| 亚洲欧美成人综合| 亚洲男女自偷自拍| 亚洲欧美久久| 日韩精品欧美大片| 视频一区二区三区在线| 激情欧美丁香| 都市激情国产精品| 久久电影tv| 久久久久久黄| 在线综合亚洲| 日韩国产在线一| 蜜桃久久av一区| 日韩一区二区三免费高清在线观看| 国产精品视区| 亚洲福利久久| 亚洲精品日韩久久| 国产精品一区二区精品| 精品五月天堂| 欧美日韩一区二区三区视频播放| 免费成人网www| 国产精品99视频| 亚洲一区观看| 视频在线观看91| 国产精品一区二区三区美女|