日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

02_Spring Cloud Alibaba整合通用Mapper+Lombok+Mysql

發布時間:2024/9/27 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 02_Spring Cloud Alibaba整合通用Mapper+Lombok+Mysql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring CLoud 整合通用Mapper+Lombok+Mysql

文章目錄

  • 一、使用Spring Initializr快速創建Spring Boot應用
  • 二、相關依賴
    • 2.1. 添加依賴
    • 2.2. mybatis添加插件
    • 2.3. 在resources目錄下面創建generator目錄存放generatorConfig.xml
      • 2.3.1. config.properties配置文件
      • 2.3.2. lombok插件
      • 2.3.3. 數據庫信息
      • 2.3.4. 代碼生成實體類、mapper接口和mapper.xml
      • 2.3.5. 指定生成那些表
    • 2.4. config.properties配置文件
    • 2.4.1. 數據庫信息
    • 2.4.2. 模塊名稱
    • 2.4.3. 表名
    • 2.5. 配置SpringBoot配置文件
      • 2.6. 運行數據庫腳本
      • 2.7. 雙擊運行:
  • 三、代碼生成效果
    • 3.1. 實體類效果:
    • 3.2. mapper接口效果:
    • 3.3. mapper映射文件效果:
  • 四、啟動類添加注解
  • 五、單元測試
  • 六、發布一個list端點,進行web服務調用
    • 6.2. 調用服務截圖

一、使用Spring Initializr快速創建Spring Boot應用



也可以都不選


創建項目完成!!!

二、相關依賴

2.1. 添加依賴

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--通用mapper--><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>2.1.5</version></dependency><!--Lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version><scope>provided</scope></dependency><!-- mysql 驅動--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- 單元測試--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

2.2. mybatis添加插件

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.6</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><!-- https://mvnrepository.com/artifact/tk.mybatis/mapper --><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency></dependencies></plugin>

2.3. 在resources目錄下面創建generator目錄存放generatorConfig.xml

  • 涉及以下5部分:

2.3.1. config.properties配置文件

2.3.2. lombok插件

2.3.3. 數據庫信息

2.3.4. 代碼生成實體類、mapper接口和mapper.xml

2.3.5. 指定生成那些表

generatorConfig.xml文件內容如下:

<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><properties resource="generator/config.properties"/><context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="tk.mybatis.mapper.common.Mapper"/><property name="caseSensitive" value="true"/><property name="lombok" value="Getter,Setter,ToString"/></plugin><jdbcConnection driverClass="${jdbc.driverClass}"connectionURL="${jdbc.url}"userId="${jdbc.user}"password="${jdbc.password}"></jdbcConnection><!--實體--><javaModelGenerator targetPackage="com.gblfy.springboot.mapper.lombok.mysql.domain.entity.${moduleName}"targetProject="src/main/java"/><!--mapper.xml--><sqlMapGenerator targetPackage="com.gblfy.springboot.mapper.lombok.mysql.dao.${moduleName}"targetProject="src/main/resources"/><!--mapper接口--><javaClientGenerator targetPackage="com.gblfy.springboot.mapper.lombok.mysql.dao.${moduleName}"targetProject="src/main/java"type="XMLMAPPER"/><!--為哪張表生成代碼--><table tableName="${tableName}"><generatedKey column="id" sqlStatement="JDBC"/></table></context> </generatorConfiguration>

2.4. config.properties配置文件

涉及部分:

2.4.1. 數據庫信息

2.4.2. 模塊名稱

2.4.3. 表名

具體內容:

jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mapperlombok?nullCatalogMeansCurrent=true jdbc.user=root jdbc.password=root#模塊名稱 moduleName=content#表名 tableName=user

2.5. 配置SpringBoot配置文件

#數據庫信息 spring:datasource:url: jdbc:mysql://localhost:3306/mapperlombokdriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: root # 應用名稱application:name: content-center # 應用啟動端口 server:port: 8080

2.6. 運行數據庫腳本

CREATE TABLE `user` (`user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',`account` varchar(45) COLLATE utf8_bin DEFAULT NULL COMMENT '賬號',`password` varchar(45) COLLATE utf8_bin DEFAULT NULL COMMENT '密碼',`create_time` datetime DEFAULT NULL COMMENT '創建時間',`update_time` datetime DEFAULT NULL COMMENT '更新時間',PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=DYNAMIC COMMENT='用戶表';

2.7. 雙擊運行:

三、代碼生成效果

3.1. 實體類效果:

package com.gblfy.springboot.mapper.lombok.mysql.domain.entity.content;import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor;import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.Table; import java.util.Date;@Data @NoArgsConstructor @AllArgsConstructor @Builder @Table(name = "user") public class User {/*** 主鍵id*/@Id@Column(name = "user_id")private Long userId;/*** 賬號*/private String account;/*** 密碼*/private String password;/*** 創建時間*/@Column(name = "create_time")private Date createTime;/*** 更新時間*/@Column(name = "update_time")private Date updateTime; }

3.2. mapper接口效果:

package com.gblfy.springboot.mapper.lombok.mysql.dao.content;import com.gblfy.springboot.mapper.lombok.mysql.domain.entity.content.Order; import tk.mybatis.mapper.common.Mapper;public interface UserMapper extends Mapper<User> { }

3.3. mapper映射文件效果:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gblfy.springboot.mapper.lombok.mysql.dao.content.UserMapper"><resultMap id="BaseResultMap" type="com.gblfy.springboot.mapper.lombok.mysql.domain.entity.content.User"><!--WARNING - @mbg.generated--><id column="user_id" jdbcType="BIGINT" property="userId" /><result column="account" jdbcType="VARCHAR" property="account" /><result column="password" jdbcType="VARCHAR" property="password" /><result column="create_time" jdbcType="TIMESTAMP" property="createTime" /><result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /></resultMap> </mapper>

四、啟動類添加注解

– 不然spring掃描不到,無法將mapper進行實例化,導致mapper接口無法注入

@SpringBootApplication @MapperScan("com.gblfy.springboot.mapper.lombok.mysql") public class SpringbootMapperLombokMysqlApplication {public static void main(String[] args) {SpringApplication.run(SpringbootMapperLombokMysqlApplication.class, args);} }

五、單元測試

package com.gblfy.springboot.mapper.lombok.mysql.dao.content;import com.gblfy.springboot.mapper.lombok.mysql.SpringbootMapperLombokMysqlApplicationTests; import com.gblfy.springboot.mapper.lombok.mysql.domain.entity.content.User; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; import org.junit.Test; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.Date; import java.util.List;@Component @Slf4j public class SysUserMapperTest extends SpringbootMapperLombokMysqlApplicationTests {@Resourceprivate UserMapper userMapper;/*** 插入數據并查詢用戶列表*/@Testpublic void insertAndSelect() {//插入用戶數據User user = User.builder().account("gblfy").password("123").createTime(new Date()).updateTime(new Date()).build();int i = this.userMapper.insertSelective(user);//查詢用戶列表List<User> userList = this.userMapper.selectAll();//斷言數據庫數據條數為1條,如不是1條則,控制臺異常提示Assert.assertEquals(1, userList.size());//循環遍歷用戶列表for (User u : userList) {log.info("用戶列表信息={}", u.toString());}} }

六、發布一個list端點,進行web服務調用

package com.gblfy.springboot.mapper.lombok.mysql.controller.content;import com.gblfy.springboot.mapper.lombok.mysql.dao.content.UserMapper; import com.gblfy.springboot.mapper.lombok.mysql.domain.entity.content.User; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.Date; import java.util.List;/*** @author gblfy* @ClassNme UserController* @Description TODO* @Date 2019/7/7 19:09* @version1.0*/ @Slf4j @RestController @RequestMapping("/user") @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class UserController {private final UserMapper userMapper;@RequestMapping("/list")public List<User> insertAndSelect() {//插入用戶數據User user = User.builder().account("gblfy").password("123").createTime(new Date()).updateTime(new Date()).build();int i = this.userMapper.insertSelective(user);log.info("插入用戶信息成功={}", i);//查詢用戶列表List<User> userList = this.userMapper.selectAll();log.info("查詢用戶列表信息成功");return userList;} }

6.2. 調用服務截圖

調用服務地址:http://localhost:8080/user/list

本文下載鏈接:

Github地址:https://github.com/gb-heima/springboot-mapper-lombok-mysql
zip包下載鏈接:
https://codeload.github.com/gb-heima/springboot-mapper-lombok-mysql/zip/master

總結

以上是生活随笔為你收集整理的02_Spring Cloud Alibaba整合通用Mapper+Lombok+Mysql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人麻豆视频 | 成人a v视频 | 久久不卡| 深夜福利一区 | 青青草草视频 | 在线看91 | 精品福利视频导航 | 久久嫩草 | xxxxwww国产| 亚洲欧美网 | 啪啪网站视频 | 色999视频 | 青青青国内视频在线观看软件 | 免费看片网站91 | 一区二区色 | 黄色一级在线视频 | 久久噜噜噜| 欧美日韩一区二区区 | 91精品国产乱码久久久 | 国产男女视频在线观看 | av看片资源 | 亚洲国产毛片 | 黄色资源网站 | 国产毛片a级 | 久久久国产一区二区三区 | 在线免费观看av网 | 国产夫妻在线视频 | 亚洲天堂伊人网 | 熟睡人妻被讨厌的公侵犯 | 午夜精品国产精品大乳美女 | 88久久精品无码一区二区毛片 | 67194午夜 | 制服诱惑一区二区 | 日韩中文字幕免费在线观看 | 老司机精品视频在线播放 | 99热99| 午夜骚影| eeuss鲁丝片一区二区三区 | xxxx日本免费 | 2019国产在线 | 无码精品黑人一区二区三区 | 久久国产激情视频 | 欧美一级黄色片在线观看 | 日本三级片在线观看 | 黄色av软件| 美女网站黄页 | 亚洲不卡视频在线 | 免费日韩在线视频 | 久久久久久久久久久影视 | av成人在线电影 | 成年视频在线观看 | 国内自拍av | 久久激情网| 日韩黄色网 | 成年人在线观看网站 | 国产又爽又黄免费软件 | 夜夜天天操 | 性一交一乱一透一a级 | 美女三级黄色片 | 在线观看小视频 | 人乳videos巨大吃奶 | 红色假期黑色婚礼2 | 日韩性网站 | 久9精品| 成人片黄网站色大片免费毛片 | 国产成人av免费 | 欧美第三页 | 国产ts人妖调教重口男 | 黑人巨大精品欧美一区免费视频 | 少妇高潮一区二区三区 | 人人超碰97 | 夜夜天天拍拍 | 成人av无码一区二区三区 | 国产欧美一区二区精品久久久 | 免费看片亚洲 | 精品视频在线播放 | 国产精彩视频一区 | 国产资源在线视频 | av一区二区在线播放 | 91视频a| av电影在线观看不卡 | 亚洲一区二区三区久久久成人动漫 | 海角社区在线视频播放观看 | 强行挺进白丝老师翘臀网站 | 摸摸大奶子 | 噜噜噜久久,亚洲精品国产品 | 亚洲片国产一区一级在线观看 | a级黄色小视频 | 亚洲天堂自拍偷拍 | 久久草精品 | 直接看的av | 亚洲精品一区二区三区影院忠贞 | 大乳村妇的性需求 | www.com欧美| 少妇性色av | 亚洲一二三四 | 中文字幕av免费观看 | 久热亚洲 | 神马午夜场 |