- 使用maven管理添加依賴
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.3</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
添加配置類
@Bean(name = "sqlSessionFactoryBean")
public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
Interceptor[] interceptors = new Interceptor[] {pageInterceptor()};
sqlSessionFactoryBean.setPlugins(interceptors);
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:mapper/*.xml");
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean;
}
@Bean
public PageInterceptor pageInterceptor(){
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("dialect", "mysql");
properties.setProperty("reasonable", "true");
pageHelper.setProperties(properties);
PageInterceptor pageInterceptor = new PageInterceptor();
pageInterceptor.plugin(pageHelper);
return pageInterceptor;
}
在掃描類上添加註解@tk.mybatis.spring.annotation.MapperScan,比如我的是spring boot的啓動類上。
然後我們再配置一個mybatis-generator,這個是mybits逆向工程生成實體類和mapper,首先需要在項目資源目錄下配置一個generatorConfig.xml
<?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="DB2Tables" targetRuntime="MyBatis3Simple">
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<!-- mapper接口中繼承的接口 -->
<property name="mappers" value="tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.common.MySqlMapper"/>
<property name="useMapperCommentGenerator " value="true"/>
<!-- caseSensitive默認false,當數據庫表名區分大小寫時,可以將該屬性設置爲true -->
<property name="caseSensitive" value="true"/>
<property name="generateColumnConsts" value="`"/>
<!-- 在bean中添加@data lombok -->
<property name="lombok" value="Data"/>
</plugin>
<!--數據庫鏈接URL,用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://ip:port/schema"
userId="userId"
password="passwd">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.base.data.dto"
targetProject="./src/main/java">
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="resources/mapper"
targetProject="src/main">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.base.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="tableName" domainObjectName="TableName"/>
</context>
</generatorConfiguration>
然後在需要運行逆向工程的模塊pom中添加下面的build
<build>
<plugins>
<!--mybatis自動生成代碼插件 用mysql8.0的依賴以及驅動包會報錯,可以切換mysql5.8版本以下的依賴-->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!-- generatorConfig.xml文件路徑 ${basedir}表示項目根目錄,即包含pom.xml文件的目錄,是maven內置屬性-->
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
<!-- 是否覆蓋,true表示會替換生成的JAVA文件,false則不覆蓋 -->
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<!-- 通用mapper依賴 假如需要使用通用mapper,放開註釋 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.1.5</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
然後使用maven運行插件
在代碼中使用分頁如下
Example example = new Example(SystemParam.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("type", code);
PageHelper.startPage(1, 10);
List<SystemParam> list = systemParamMapper.selectByExample(example);
PageInfo<SystemParam> page = new PageInfo<>(list);