SpringBoot+mybatis逆向工程
阿新 • • 發佈:2018-11-04
使用開發工具:idea
一、建立springBoot工程後,在pom.xml檔案中新增如下程式碼,以下程式碼是連線資料庫的一些jar包和生成的工具
<!--1.myBatis--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <!--2.連線資料庫 驅動--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <!--3.資料來源 連線池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </dependency> <!--mapper--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>1.2.4</version> </dependency> <!--pagehelper分頁的--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</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>
二、建立GeneratorDisplay類
這個類執行後直接生成xxxxxmapper.xml
注意,這個類中需要修改 File configFile = new File("src/main/resources/config/generatorConfig.xml");中的這個xml所在的實際位置。
public class GeneratorDisplay { public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置檔案 File configFile = new File("src/main/resources/config/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(null); } public static void main(String[] args) throws Exception { try { GeneratorDisplay generatorSqlmap = new GeneratorDisplay(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
三、建立MyMapper介面
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
/**
* 繼承自己的MyMapper
*
* @author liuzh
* @since 2015-09-06 21:53
*/
public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
//TODO
//FIXME 特別注意,該介面不能被掃描到,否則會出錯
}
四、建立第三點提到的generatorConfig.xml檔案
這個檔案一般放在resources/config下面
<?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="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--配置外掛位置 MyMapper-->
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="com.hdlhd.mapputil.MyMapper"/> <!-- 這裡指向第三點建立的MyMapper -->
</plugin>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://資料庫地址"
userId="資料庫名"
password="資料庫密碼">
</jdbcConnection>
<!-- 對於生成的pojo所在包 自己先建立-->
<javaModelGenerator targetPackage="com.hdlhd.driver.pojo" targetProject="src/main/java"/>
<!-- 對於生成的mapper所在目錄 自己先建立-->
<sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
<!-- 配置mapper對應的java對映 自己先建立-->
<javaClientGenerator targetPackage="com.hdlhd.driver.mapper" targetProject="src/main/java"
type="XMLMAPPER"/>
<table tableName="%"></table>
<!-- %號代表所有的表,可以根據實際需求改為自己要生成的表的名字 -->
</context>
</generatorConfiguration>
五、此時,以上配置完成後,即可執行第二點中的GeneratorDisplay類中的main()即可生成相應的實體類