电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Springboot mybatis-plus配置及用法詳解

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

本節(jié)內(nèi)容擴展介紹下針對mybatis的增強工具mybatis-plus,在 MyBatis 的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生。

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

1.mybatis-plus初步實例

(1)創(chuàng)建一個spring boot web工程(具體創(chuàng)建過程就不再演示了,還不會的同學(xué)去看看spring boot專題第一節(jié)內(nèi)容)

(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驅(qū)動--> <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') //指明數(shù)據(jù)庫表名 public class User { private Long id; private String name; private Integer age; private String email; }

(5)創(chuàng)建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)創(chuàng)建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)創(chuàng)建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://www.hdgsjgj.cn/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配置及用法詳解

小結(jié)

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 踏板力计,制动仪,非接触多功能速度仪,逆反射系数测试仪-创宇 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 成都租车_成都租车公司_成都租车网_众行宝| 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 活性炭-蜂窝-椰壳-柱状-粉状活性炭-河南唐达净水材料有限公司 | 宁波普瑞思邻苯二甲酸盐检测仪,ROHS2.0检测设备,ROHS2.0测试仪厂家 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 蓝鹏测控平台 - 智慧车间系统 - 车间生产数据采集与分析系统 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | 期货软件-专业期货分析软件下载-云智赢 | 自动化改造_智虎机器人_灌装机_贴标机-上海圣起包装机械 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 中山东港家具集团-酒店-办公-医养家具定制厂家| 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 |