Project Directory

Maven Dependency
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.fool</groupId><artifactId>springboot-demo</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.9.RELEASE</version><relativePath/></parent><properties><pagehelper-spring-boot-starter.version>1.2.13</pagehelper-spring-boot-starter.version><mybatis-spring-boot-starter.version>2.1.4</mybatis-spring-boot-starter.version><mapper-spring-boot-starter.version>2.1.5</mapper-spring-boot-starter.version><mapper.version>4.1.5</mapper.version><druid-spring-boot-starter.version>1.1.24</druid-spring-boot-starter.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pagehelper-spring-boot-starter.version}</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-spring-boot-starter.version}</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper-spring-boot-starter</artifactId><version>${mapper-spring-boot-starter.version}</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>${mapper.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid-spring-boot-starter.version}</version></dependency></dependencies><build><finalName>${artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.7</version><configuration><configurationFile>sql/generatorConfig.xml</configurationFile><verbose>true</verbose><overwrite>true</overwrite></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>4.1.5</version></dependency></dependencies></plugin></plugins></build></project>
application.properties
server.port=8080spring.http.encoding.force=truespring.http.encoding.charset=UTF-8spring.http.encoding.enabled=truemybatis.type-aliases-package=org.fool.springboot.modelmybatis.mapper-locations=classpath:mapper/**/*.xmlspring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useLegacyDatetimeCode=false&useSSL=falsespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.initial-size=5spring.datasource.druid.max-active=50spring.datasource.druid.min-idle=5spring.datasource.druid.max-wait=60000spring.datasource.druid.min-evictable-idle-time-millis=300000spring.datasource.druid.validation-query=SELECT 1 FROM DUALspring.datasource.druid.test-while-idle=truespring.datasource.druid.test-on-borrow=falsespring.datasource.druid.test-on-return=falsespring.datasource.druid.filters=stat,wallspring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500spring.datasource.druid.use-global-data-source-stat=true
配置 MyBatis Generator
schema.sql
CREATE TABLE `tb_schedule` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`schedule_name` varchar(100) NOT NULL,`schedule_desc` varchar(100) NOT NULL,`create_by` varchar(30) NOT NULL,`update_by` varchar(30) NOT NULL,`create_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),`update_time` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),PRIMARY KEY (`id`));INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(1, 'schedule1', 'schedule desc1', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(2, 'schedule2', 'schedule desc2', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(3, 'schedule3', 'schedule desc3', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(4, 'schedule4', 'schedule desc4', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(5, 'schedule5', 'schedule desc5', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(6, 'schedule6', 'schedule desc6', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(7, 'schedule7', 'schedule desc7', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(8, 'schedule8', 'schedule desc8', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(9, 'schedule9', 'schedule desc9', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');INSERT INTO tb_schedule(id, schedule_name, schedule_desc, create_by, update_by, create_time, update_time)VALUES(10, 'schedule10', 'schedule desc10', 'admin', 'admin', '2021-03-18 05:49:20.680000000', '2021-03-18 05:49:20.680000000');
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><classPathEntrylocation="/Users/${user.name}/.m2/repository/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar"/><context id="mysql" targetRuntime="MyBatis3"><plugin type="org.mybatis.generator.plugins.ToStringPlugin"/><plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/><plugin type="tk.mybatis.mapper.generator.MapperPlugin"><property name="mappers" value="tk.mybatis.mapper.common.Mapper"/><property name="caseSensitive" value="true"/></plugin><commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator><jdbcConnectiondriverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai"userId="root"password="123456"></jdbcConnection><javaModelGenerator targetPackage="org.fool.springboot.model" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><javaClientGenerator targetPackage="org.fool.springboot.dao.mapper" targetProject="src/main/java"type="XMLMAPPER"><property name="enableSubPackages" value="true"/></javaClientGenerator><table tableName="tb_schedule" domainObjectName="Schedule"enableCountByExample="false" enableUpdateByExample="false"enableDeleteByExample="false" enableSelectByExample="false"selectByExampleQueryId="false"></table></context></generatorConfiguration>
mybatis-generator:generate -e

运行后会自动生成
Schedule.java

ScheduleMapper.java

ScheduleMapper.xml

SRC
application.java

ScheduleBO.java

ScheduleDTO.java

ScheduleController.java

主要查询逻辑 ScheduleService.java
查一个:selectOneByExample

查多个:selectByExample

分页查询:PageHelper

Test
curl http://localhost:8080/schedule/find_by_schedule_name/schedule1

curl http://localhost:8080/schedule/find_by_operator/admin

curl http://localhost:8080/schedule/find_by_pagination/2/5

泰克风格 只讲干货 不弄玄虚
文章转载自TechStyle,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




