項目結構如下
一:在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();
}
}