引入SpringBoot,通用Mapper,逆向工程,分页插件所依赖的jar包
1.在pop.xml文件中引入以下jar包
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
2.引入插件
<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.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
</plugin>
创建generatorConfig.xml配置文件
3.<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="default" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.xxx.util.MyMapper"/>
</plugin>
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection
driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/myjdbc?characterEncoding=utf-8"
userId="root"
password="123456">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.xxx.bean" targetProject="./src/main/java">
<property name="enableSubPackages" value="false"/>
<property name="constructorBased" value="true"/>
<property name="trimStrings" value="true"/>
<property name="immutable" value="false"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.dao" targetProject="./src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="users" domainObjectName="User" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
对MaBatis与通用Mapper和分页插件的配置
4.完成generatorConfig.xml的配置以后 就可以使用逆向工程了 如果要使用分页插件 还需要另外配置
在application.properties中(或application.yml)进行通用mapper和分页插件的配置,在这里就用
.yml的方式进行配置
#端口号的配置
server:
port: 8095
#一般会将本地与服务器上不同的配置分开来配置 这样就只需要切换active就可以了
spring:
profiles:
active: dev
#连接池的配置
datasource:
driver-class-name: com.mysql.jdbc.Driver
druid:
initial-size: 2
#mybatis
mybatis:
type-aliases-package: com.lanou.bean
mapper-locations: classpath:mappers
分页插件的使用
5. 分页查询与模糊查询
@RequestMapping(value = "/selectByPage")
@ResponseBody
public List<User> selectByPage(Integer page, User user){
PageHelper.startPage(page,size);
Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
if (!StringUtils.isEmptyOrWhitespaceOnly(user.getUsername())){
criteria.andLike("username","%"+user.getUsername()+"%");
}
example.orderBy("password").desc();
return userMapper.selectByExample(example);
}
通用Mapper的使用
6.(1.创建util包,在该包下创建MyMapper<T>类并集成Mapper<T>,MySqlMapper<T> 如下:
package com.xxx.util;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
public interface MyMapper<T> extends Mapper<T>,MySqlMapper<T> {
}
(2.在使用逆向工程生成的dao层接口中集成MyMapper 如下:
package com.xxx.dao;
import com.lanou.bean.User;
import com.lanou.util.MyMapper;
import java.util.List;
public interface UserMapper extends MyMapper<User> {
public List<User> selectByDeleteId();
}
SpringBoot启动类的使用
7.
@SpringBootApplication
@ComponentScan(basePackages = {"com.xxx.controller","com.xxx.ck","com.xxx.bean"})
@MapperScan(basePackages = "com.xxx.dao")
public class Springboot01Application {
public static void main(String[] args) {
SpringApplication.run(Springboot01Application.class, args);
}
}