idea+springboot+mybatis逆向工程

前提:使用idea開發,基於springboot、用到了mybatis的逆向工程java

由於以前用eclipse開發ssm比較多,如今轉idea 使用springboot 踩了一些坑,在這記錄一下~mysql

注意事項:idea默認打包不會打包src下的xml文件,可是會打包resources底下的xml。因此想省事的話能夠直接把mapper.xml放到resources底下。spring

(然而想打成jar包,依舊不會打resources文件夾,建議都手動配置)sql

該篇選擇將xml放在src底下!數據庫

一、pom.xml  這裏使用插件來啓動逆向工程(將mapper.xml放在resources底下的話 就不用配置下方的resources)springboot

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!--mybatis逆向工程插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <!-- 是否覆蓋,true表示會替換生成的JAVA文件,false則不覆蓋 -->
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <!--mysql驅動包-->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.45</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
        <resources>
            <!-- mapper.xml文件在java目錄下 -->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

二、generatorConfig.xml,這裏的逆向工程配置文件我使用的是默認名字,若是不想用這個名字 能夠在pom.xml中配置。mybatis

<?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="testTables" targetRuntime="MyBatis3">
		<commentGenerator>
			<!-- 是否去除自動生成的註釋 -->
			<property name="suppressAllComments" value="true"/>
		</commentGenerator>
		<!-- 數據庫鏈接信息 -->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/sina?characterEncoding=utf8" userId="root" password="123456"></jdbcConnection>
		<!-- 默認false,把jdbc decimal 和numeric類型解析爲Integer,爲true時把jdbc decimal numeric類型解析爲java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false"/>
		</javaTypeResolver>
		<!-- targetProject用於生成bean類的位置,其實就是表對應的類-->
		<javaModelGenerator targetPackage="com.sina.bean" targetProject="./src/main/java">
			<!-- enableSubPackages配置是否讓schema做爲包的後綴 -->
			<property name="enableSubPackages" value="false"/>
			<!-- 從數據庫返回的值被清理先後的空格 -->
			<property name="trimStrings" value="true"/>
		</javaModelGenerator>
		<!-- targetProject配置mapper映射文件生成位置,設置成跟接口同一個包下-->
		<sqlMapGenerator targetPackage="com.sina.dao" targetProject="./src/main/java">
			<!-- enableSubPackages配置是否讓schema做爲包的後綴 -->
			<property name="enableSubPackages" value="false"/>
		</sqlMapGenerator>
		<!-- targetPackage配置mapper接口的位置 -->
		<javaClientGenerator targetPackage="com.sina.dao" type="XMLMAPPER" targetProject="./src/main/java">
			<property name="enableSubPackages" value="false"/>
		</javaClientGenerator>
		<!-- 指定數據庫表 -->
		<table tableName="task_detail"></table>
		<table tableName="task_list"></table>
		<table tableName="user"></table>
		<table tableName="sina_account"></table>
	</context>
</generatorConfiguration>

三、使用插件生成mapper和beanapp

 

 四、application.propertieseclipse

#driver
spring.datasource.driverClassName=com.mysql.jdbc.Driver #url spring.datasource.url=jdbc:mysql://localhost:3306/sina?characterEncoding=utf-8 #name spring.datasource.username=root #password spring.datasource.password=123456 #pool spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #alias mybatis.type-aliases-package=com.sina.bean #log logging.level.com.sina.dao=debug

 

五、啓動類,加上@MapperScanmaven

@SpringBootApplication
@ComponentScan("com.sina")
@MapperScan("com.sina.dao")//掃描持久層的包,造代理
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}
相關文章
相關標籤/搜索