当前位置:   article > 正文

springboot整合MyBatis-Plus和postgresql_mybatisplus postgresql

mybatisplus postgresql

一、环境准备

安装好postgresql  略

navicat 连接postgresql  注:navicat老版本可能报错

二、整合

1.在springboot中引入我们需要的依赖以及相应版本

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <parent>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-parent</artifactId>
  9. <version>2.5.1</version>
  10. <relativePath/> <!-- lookup parent from repository -->
  11. </parent>
  12. <groupId>com.ltb</groupId>
  13. <artifactId>postgreSQL</artifactId>
  14. <version>1.0-SNAPSHOT</version>
  15. <properties>
  16. <java.version>8</java.version>
  17. </properties>
  18. <dependencies>
  19. <!-- springboot 快速启动的一些基础依赖 -->
  20. <dependency>
  21. <groupId>org.springframework.boot</groupId>
  22. <artifactId>spring-boot-starter</artifactId>
  23. </dependency>
  24. <!--redis连接依赖-->
  25. <dependency>
  26. <groupId>org.apache.commons</groupId>
  27. <artifactId>commons-pool2</artifactId>
  28. </dependency>
  29. <!--postgreSQL连接依赖-->
  30. <dependency>
  31. <groupId>org.postgresql</groupId>
  32. <artifactId>postgresql</artifactId>
  33. <scope>runtime</scope>
  34. </dependency>
  35. <!-- web层-->
  36. <dependency>
  37. <groupId>org.springframework.boot</groupId>
  38. <artifactId>spring-boot-starter-web</artifactId>
  39. </dependency>
  40. <!-- 集成redis依赖 -->
  41. <dependency>
  42. <groupId>org.springframework.boot</groupId>
  43. <artifactId>spring-boot-starter-data-redis</artifactId>
  44. </dependency>
  45. <!-- java 自动生成set get增强工具 -->
  46. <dependency>
  47. <groupId>org.projectlombok</groupId>
  48. <artifactId>lombok</artifactId>
  49. <optional>true</optional>
  50. </dependency>
  51. <!-- 单元测试 一般前后端分离,后端接口,
  52. 后端业务逻辑复杂 (调用很多个业务场景的方法) 每个方法有自己的业务逻辑 ,
  53. 每个方法都可以自己拿测试数据 test
  54. -->
  55. <dependency>
  56. <groupId>org.springframework.boot</groupId>
  57. <artifactId>spring-boot-starter-test</artifactId>
  58. <scope>test</scope>
  59. </dependency>
  60. <!-- MyBatis-plus -->
  61. <dependency>
  62. <groupId>com.baomidou</groupId>
  63. <artifactId>mybatis-plus-boot-starter</artifactId>
  64. <version>3.4.1</version>
  65. </dependency>
  66. <!--代码生成器引入包-->
  67. <dependency>
  68. <groupId>com.baomidou</groupId>
  69. <artifactId>mybatis-plus-generator</artifactId>
  70. <version>3.4.1</version>
  71. </dependency>
  72. <dependency>
  73. <groupId>org.apache.velocity</groupId>
  74. <artifactId>velocity-engine-core</artifactId>
  75. <version>2.2</version>
  76. </dependency>
  77. <!-- jwt -->
  78. <dependency>
  79. <groupId>io.jsonwebtoken</groupId>
  80. <artifactId>jjwt</artifactId>
  81. <version>0.9.1</version>
  82. </dependency>
  83. <!--hutool 工具类引用 -->
  84. <dependency>
  85. <groupId>cn.hutool</groupId>
  86. <artifactId>hutool-all</artifactId>
  87. <version>5.8.10</version>
  88. </dependency>
  89. <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
  90. <dependency>
  91. <groupId>io.springfox</groupId>
  92. <artifactId>springfox-swagger2</artifactId>
  93. <version>2.9.2</version>
  94. </dependency>
  95. <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
  96. <dependency>
  97. <groupId>io.springfox</groupId>
  98. <artifactId>springfox-swagger-ui</artifactId>
  99. <version>2.9.2</version>
  100. </dependency>
  101. <dependency>
  102. <groupId>com.github.xiaoymin</groupId>
  103. <artifactId>swagger-bootstrap-ui</artifactId>
  104. <version>1.9.6</version>
  105. </dependency>
  106. <!-- 添加校验注解 -->
  107. <dependency>
  108. <groupId>org.springframework.boot</groupId>
  109. <artifactId>spring-boot-starter-validation</artifactId>
  110. </dependency>
  111. <dependency>
  112. <groupId>org.springframework.boot</groupId>
  113. <artifactId>spring-boot-starter-mail</artifactId>
  114. </dependency>
  115. <!-- swagger依赖 -->
  116. <!-- <dependency>-->
  117. <!-- <groupId>com.github.xiaoymin</groupId>-->
  118. <!-- <artifactId>knife4j-spring-boot-starter</artifactId>-->
  119. <!-- <version>3.0.3</version>-->
  120. <!-- </dependency>-->
  121. <dependency>
  122. <groupId>org.apache.commons</groupId>
  123. <artifactId>commons-csv</artifactId>
  124. <version>1.10.0</version>
  125. </dependency>
  126. </dependencies>
  127. <build>
  128. <plugins>
  129. <plugin>
  130. <groupId>org.springframework.boot</groupId>
  131. <artifactId>spring-boot-maven-plugin</artifactId>
  132. </plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>11</source><target>11</target></configuration></plugin>
  133. </plugins>
  134. </build>
  135. <!-- 打包成jar包 -->
  136. <packaging>jar</packaging>
  137. </project>

 2、yml配置

  1. spring:
  2. datasource:
  3. driver-class-name: org.postgresql.Driver
  4. url: jdbc:postgresql://localhost:5432/test
  5. username: postgres
  6. password: Ll123456.
  7. jpa:
  8. hibernate:
  9. ddl-auto: update
  10. properties:
  11. hibernate:
  12. temp:
  13. use_jdbc_metadata_defaults: false
  14. server:
  15. port: 8080
  16. mybatis-plus:
  17. configuration:
  18. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  19. global-config:
  20. db-config:
  21. logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
  22. logic-delete-value: 1 # 逻辑已删除值(默认为 1)
  23. logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

3.代码生成器

更改配置信息(注释中有)

  1. public class CodeGenerate {
  2. public static void main(String[] args) {
  3. // 1、创建代码生成器
  4. AutoGenerator mpg = new AutoGenerator();
  5. // 2、全局配置
  6. GlobalConfig gc = new GlobalConfig();
  7. String projectPath = "E:\\idea\\postgreSQL"; // 填写代码生成的目录(需要修改)
  8. gc.setOutputDir(projectPath + "/src/main/java"); // 拼接出代码最终输出的目录
  9. gc.setAuthor("ltb"); // 配置开发者信息(可选)(需要修改)
  10. gc.setOpen(false); //生成后是否打开资源管理器
  11. gc.setFileOverride(false); //重新生成时文件是否覆盖
  12. gc.setServiceName("%sService"); //去掉Service接口的首字母I
  13. gc.setIdType(IdType.ID_WORKER_STR); //主键策略
  14. gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
  15. gc.setSwagger2(false); // 实体属性 Swagger2 注解,添加 Swagger 依赖,开启 Swagger2 模式(可选)
  16. mpg.setGlobalConfig(gc);
  17. // 3、数据源配置
  18. DataSourceConfig dsc = new DataSourceConfig();
  19. dsc.setUrl("jdbc:postgresql://localhost:5432/test"); // 配置数据库 url 地址(需要修改)
  20. dsc.setDriverName("org.postgresql.Driver"); // 配置数据库驱动
  21. //dsc.setSchemaName("test"); //默认指定public(可选)(需要修改)
  22. dsc.setUsername("postgres"); // 配置数据库连接用户名(需要修改)
  23. dsc.setPassword("Ll123456."); // 配置数据库连接密码(需要修改)
  24. dsc.setDbType(DbType.POSTGRE_SQL);
  25. mpg.setDataSource(dsc);
  26. // 4、包配置
  27. PackageConfig pc = new PackageConfig();
  28. pc.setModuleName(""); //模块名
  29. pc.setParent("com.ltb");
  30. pc.setController("controller");
  31. pc.setEntity("entity");
  32. pc.setService("service");
  33. pc.setMapper("mapper");
  34. mpg.setPackageInfo(pc);
  35. // 5、策略配置
  36. StrategyConfig strategy = new StrategyConfig();
  37. strategy.setInclude("user"); //指定表名(可以同时操作多个表,使用 , 隔开)(需要修改)
  38. strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
  39. strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
  40. strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
  41. strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
  42. strategy.setRestControllerStyle(true); //restful api风格控制器
  43. strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
  44. mpg.setStrategy(strategy);
  45. // 6、执行
  46. mpg.execute();
  47. }
  48. }

用代码生成器生成代码后,即可进行增删改查(略)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/870330
推荐阅读
相关标签
  

闽ICP备14008679号