Mybatis自動生成代碼工具


項目結構如下

 

 

 

一:在POM中添加mybatis-generator-maven-plugin 插件

<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<executions>
<execution>
<id>Generate MyBatis Artifacts</id>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</plugin>

二:在resources下新建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>
<!--oracle驅動,由於oracle為收費軟件,maven不能直接下載,手動指定位置
-->
<classPathEntry location="D:\Java\Maven\Repository\com\oracle\ojdbc6\11.2.0.3.0\ojdbc6-11.2.0.3.0.jar"/>

<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自動生成的注釋,true:是,false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>

<!--數據庫連接的信息:驅動類、連接地址、用戶名、密碼 -->
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
userId="scott"
password="scott">
</jdbcConnection>

<!-- 默認false,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer,為 true時把JDBC DECIMAL 和
NUMERIC 類型解析為java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>

<!-- 指定javaBean生成的位置
targetPackage:生成的類要放的包,真實的包受enableSubPackages屬性控制;
targetProject:目標項目,指定一個存在的目錄下,生成的內容會放到指定目錄中,如果目錄不存在,MBG不會自動建目錄
-->
<javaModelGenerator targetPackage="com.founderit.bean" targetProject="src/main/java">
<!-- 在targetPackage的基礎上,根據數據庫的schema再生成一層package,最終生成的類放在這個package下,默認為false;如果多個數據庫改為true分目錄 -->
<property name="enableSubPackages" value="false"/>
<!-- 設置是否在getter方法中,對String類型字段調用trim()方法 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>

<!-- 指定mapper映射文件生成的位置
targetPackage、targetProject同javaModelGenerator中作用一樣-->
<sqlMapGenerator targetPackage="mybatis" targetProject="src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>

<!-- 指定mapper接口生成的位置
targetPackage、targetProject同javaModelGenerator中作用一樣
-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.founderit.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>

<!-- 指定數據庫表
-->
<table tableName="DEPT" domainObjectName="Dept"></table>
</context>
</generatorConfiguration>

三:運行插件

在項目右側Plugins下選中mybatis-generator,右鍵運行,在console下查看運行結果

 

 

四:測試

在pom.xml下假如mybayis<dependency>

    <groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>


新建測試類TestMain

 

 

 
public static void main(String[] args) {
String configPath="mybatis/mybatis_config.xml";
try {
InputStream in=Resources.getResourceAsStream(configPath);
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(in);
SqlSession sqlSession=factory.openSession();
StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);
Student student=new Student();
student.setName("TQ123");
student.setAge((short)200);
student.setId((short)789);
int result=studentMapper.insert(student);
System.out.println("result"+result);
sqlSession.commit();

Student queryStudent= studentMapper.selectByPrimaryKey((short) 789);
System.out.println(queryStudent.toString());
} catch (IOException e) {
e.printStackTrace();
}

}




 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM