<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--https://github.com/abel533/Mapper/wiki-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<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>5.1.47</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
generator/config.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user_center?characterEncoding=utf8&useSSL=false&nullCatalogMeansCurrent=true
jdbc.user=root
jdbc.password=123456
tableName=user
moduleName=user
generator/generatorConfig.xml
<!DOCTYPE generatorConfiguration
PUBLIC "-//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,Accessors"/>
</plugin>
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="com.fly.demo.domain.entity.${moduleName}"
targetProject="src/main/java"/>
<sqlMapGenerator targetPackage="com.fly.demo.dao.${moduleName}"
targetProject="src/main/resources"/>
<javaClientGenerator targetPackage="com.fly.demo.dao.${moduleName}"
targetProject="src/main/java"
type="XMLMAPPER"/>
<table tableName="${tableName}">
<generatedKey column="id" sqlStatement="JDBC"/>
</table>
</context>
</generatorConfiguration>
使用
@MapperScan("com.fly")
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
測試
@RequiredArgsConstructor(onConstructor = @__(@Autowired)) //shareMapper不會報紅線
@SpringBootTest
class DemoApplicationTests {
private final ShareMapper shareMapper;
@Test
void insertSelective() {
Share share = new Share();
share.setCreateTime(new Date());
share.setUpdateTime(new Date());
share.setDownloadUrl("xxx");
shareMapper.insertSelective(share);
System.out.println(share);
}
@Test
void select(){
shareMapper.selectAll().forEach(System.out::println);
}
}
測試的class
@SpringBootTest
class DemoApplicationTests {
private final ShareMapper shareMapper;
@Test
void insertSelective() {
Share share = new Share();
share.setCreateTime(new Date());
share.setUpdateTime(new Date());
share.setDownloadUrl("xxx");
this.shareMapper.insertSelective(share);
System.out.println(share);
}
@Test
void select() {
List var10000 = this.shareMapper.selectAll();
PrintStream var10001 = System.out;
var10000.forEach(var10001::println);
}
@Autowired
public DemoApplicationTests(final ShareMapper shareMapper) {
this.shareMapper = shareMapper;
}
}