1.mybatis通用插件

通过mapper GitHub地址https://github.com/abel533/Mapper/wiki
使用通用mapper依赖
注解类上加这段,扫描包下mapper接口
@MapperScan(basePackages = “com.example.mybatisdemo”)

  1. # 不加这段会提示无法映射
  2. mybatis:
  3. mapper-locations: classpath:mapper/*.xml
  1. <dependency>
  2. <groupId>tk.mybatis</groupId>
  3. <artifactId>mapper-spring-boot-starter</artifactId>
  4. <version>2.1.5</version>
  5. </dependency>
  1. <!DOCTYPE generatorConfiguration
  2. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  3. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  4. <generatorConfiguration>
  5. <properties resource="generator/config.properties"/>
  6. <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
  7. <property name="beginningDelimiter" value="`"/>
  8. <property name="endingDelimiter" value="`"/>
  9. <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
  10. <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
  11. <property name="caseSensitive" value="true"/>
  12. <property name="lombok" value="Getter,Setter,ToString"/>
  13. </plugin>
  14. <jdbcConnection driverClass="${jdbc.driverClass}"
  15. connectionURL="${jdbc.url}"
  16. userId="${jdbc.user}"
  17. password="${jdbc.password}">
  18. </jdbcConnection>
  19. <!--实体-->
  20. <javaModelGenerator targetPackage="com.itmuch.contentcenter.domain.entity.${moduleName}"
  21. targetProject="src/main/java"/>
  22. <!--mapper.xml-->
  23. <sqlMapGenerator targetPackage="com.itmuch.contentcenter.dao.${moduleName}"
  24. targetProject="src/main/resources"/>
  25. <!--mapper接口-->
  26. <javaClientGenerator targetPackage="com.itmuch.contentcenter.dao.${moduleName}"
  27. targetProject="src/main/java"
  28. type="XMLMAPPER"/>
  29. <!--为哪张表生成代码-->
  30. <table tableName="${tableName}">
  31. <generatedKey column="id" sqlStatement="JDBC"/>
  32. </table>
  33. </context>
  34. </generatorConfiguration>

不加时区会出现异常

  1. jdbc.driverClass=com.mysql.cj.jdbc.Driver
  2. jdbc.url=jdbc:mysql://localhost:3306/content_center?serverTimezone=UTC
  3. jdbc.user=root
  4. jdbc.password=newrootpassword
  5. moduleName=messaging
  6. tableName=rocketmq_transaction_log
  1. <plugin>
  2. <groupId>org.mybatis.generator</groupId>
  3. <artifactId>mybatis-generator-maven-plugin</artifactId>
  4. <version>1.3.6</version>
  5. <configuration>
  6. <configurationFile>
  7. ${basedir}/src/main/resources/generator/generatorConfig.xml
  8. </configurationFile>
  9. <overwrite>true</overwrite>
  10. <verbose>true</verbose>
  11. </configuration>
  12. <dependencies>
  13. <dependency>
  14. <groupId>mysql</groupId>
  15. <artifactId>mysql-connector-java</artifactId>
  16. <version>8.0.16</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>tk.mybatis</groupId>
  20. <artifactId>mapper</artifactId>
  21. <version>4.1.5</version>
  22. </dependency>
  23. </dependencies>
  24. </plugin>

执行maven插件即可
image.png

2.分页插件PageHelper

注意和mybatis的版本对应

  1. <dependency>
  2. <groupId>com.github.pagehelper</groupId>
  3. <artifactId>pagehelper-spring-boot-starter</artifactId>
  4. <version>1.2.13</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.mybatis.spring.boot</groupId>
  8. <artifactId>mybatis-spring-boot-starter</artifactId>
  9. <version>2.1.0</version>
  10. </dependency>

使用起来很简单

  1. // 在sql语句上面加这句
  2. PageHelper.startPage(1, 1);
  3. // 将查询到list数据放到这里边
  4. PageInfo<PayInfoForm> pageInfo = new PageInfo<>(payInfoFormList);

这是返回字段的说明:
image.png