Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
Expand Down
6 changes: 6 additions & 0 deletions spring-boot-mybatis/mybatis-generator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
How to generate:

Set `generator.generate` to true

Run `GeneratorApplication`

95 changes: 95 additions & 0 deletions spring-boot-mybatis/mybatis-generator/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
<?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>

<parent>
<groupId>alex</groupId>
<artifactId>spring-boot-mybatis</artifactId>
<version>0.1.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>

<artifactId>mybatis-generator</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>jar</packaging>

<properties>
<h2.version>2.2.224</h2.version>
</properties>

<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.4.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<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.4.2</version>
<configuration>
<configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
</dependency>
<dependency>
<groupId>alex</groupId>
<artifactId>mybatis-generator</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package alex;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import lombok.extern.java.Log;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.api.VerboseProgressCallback;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.util.ResourceUtils;

/** Created by qct on 2017/10/5. */
@SpringBootApplication
@MapperScan("alex.dao")
@Log
public class GeneratorApplication implements CommandLineRunner {

@Value("${generator.generate}")
boolean generate;

public static void main(String[] args) {
SpringApplication.run(GeneratorApplication.class, args);
}

@Override
public void run(String... args) throws Exception {
if (!generate) {
log.info("generator.generate is false, skip generator");
return;
}

List<String> warnings = new ArrayList<>();
boolean overwrite = true;

File configFile = ResourceUtils.getFile("classpath:generatorConfig.xml");
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(new VerboseProgressCallback());

warnings.forEach(log::warning);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package alex.dao;

import alex.dto.Person;

public interface PersonMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int deleteByPrimaryKey(Integer id);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int insert(Person row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int insertSelective(Person row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
Person selectByPrimaryKey(Integer id);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int updateByPrimaryKeySelective(Person row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table person
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int updateByPrimaryKey(Person row);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package alex.dao;

import alex.dto.School;

public interface SchoolMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int deleteByPrimaryKey(Integer id);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int insert(School row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int insertSelective(School row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
School selectByPrimaryKey(Integer id);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int updateByPrimaryKeySelective(School row);

/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table school
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
int updateByPrimaryKey(School row);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package alex.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Person {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column person.id
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private Integer id;

/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column person.name
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private String name;

/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column person.address
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private String address;

/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column person.age
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private Integer age;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package alex.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class School {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column school.id
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private Integer id;

/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column school.name
*
* @mbg.generated Mon Nov 27 23:50:17 GST 2023
*/
private String name;
}
Loading