MyBatis逆向工程
说明:myBatis逆向工程,可以通过数据库中的表自动生成entity dao和 mapper.xml 文件 以下以 MET_ORDE_EXAMPART表为例生成需要的文件
操作步骤
1.在pom.xml中引入依赖
<build>
<plugins>
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<configuration>
<!--配置文件的位置-->
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
2.在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>
<!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
<classPathEntry location="E:\coe-dev\repository\com\oracle\ojdbc6\11.2.0.3\ojdbc6-11.2.0.3.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自动生成的注释 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库链接URL,用户名、密码 -->
<jdbcConnection driverClass="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:xxxx/orcl"
userId="userId"
password="password">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.junchen.order.dal.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成映射文件的包名和位置-->
<sqlMapGenerator targetPackage="main.resources.mapper" targetProject="src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.junchen.order.dal.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
<table tableName="MET_ORDE_EXAMPART"
domainObjectName="ExamPartEntity"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false">
<!-- 是否使用真实字段名,设置为false将自动驼峰转换 -->
<property name="useActualColumnNames" value="false" />
<columnOverride column="sex" javaType="Integer"/>
</table>
</context>
</generatorConfiguration>
3.双击红框中的按钮,自动生成
4.生成文件如下
entity
package com.junchen.order.dal.entity;
import java.util.Date;
public class ExamPartEntity {
private String examPartId;
private String examPartName;
private Integer sortNo;
private String applyTypeId;
private String bigExamPartId;
private String validState;
private Date createDate;
private String operCode;
private Date operDate;
private String spellCode;
private String wbCode;
private String englishName;
public String getExamPartId() {
return examPartId;
}
public void setExamPartId(String examPartId) {
this.examPartId = examPartId == null ? null : examPartId.trim();
}
public String getExamPartName() {
return examPartName;
}
public void setExamPartName(String examPartName) {
this.examPartName = examPartName == null ? null : examPartName.trim();
}
public Integer getSortNo() {
return sortNo;
}
public void setSortNo(Integer sortNo) {
this.sortNo = sortNo;
}
public String getApplyTypeId() {
return applyTypeId;
}
public void setApplyTypeId(String applyTypeId) {
this.applyTypeId = applyTypeId == null ? null : applyTypeId.trim();
}
public String getBigExamPartId() {
return bigExamPartId;
}
public void setBigExamPartId(String bigExamPartId) {
this.bigExamPartId = bigExamPartId == null ? null : bigExamPartId.trim();
}
public String getValidState() {
return validState;
}
public void setValidState(String validState) {
this.validState = validState == null ? null : validState.trim();
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
public String getOperCode() {
return operCode;
}
public void setOperCode(String operCode) {
this.operCode = operCode == null ? null : operCode.trim();
}
public Date getOperDate() {
return operDate;
}
public void setOperDate(Date operDate) {
this.operDate = operDate;
}
public String getSpellCode() {
return spellCode;
}
public void setSpellCode(String spellCode) {
this.spellCode = spellCode == null ? null : spellCode.trim();
}
public String getWbCode() {
return wbCode;
}
public void setWbCode(String wbCode) {
this.wbCode = wbCode == null ? null : wbCode.trim();
}
public String getEnglishName() {
return englishName;
}
public void setEnglishName(String englishName) {
this.englishName = englishName == null ? null : englishName.trim();
}
}
dao
package com.junchen.order.dal.dao;
import com.junchen.order.dal.entity.ExamPartEntity;
public interface ExamPartEntityMapper {
int deleteByPrimaryKey(String examPartId);
int insert(ExamPartEntity record);
int insertSelective(ExamPartEntity record);
ExamPartEntity selectByPrimaryKey(String examPartId);
int updateByPrimaryKeySelective(ExamPartEntity record);
int updateByPrimaryKey(ExamPartEntity record);
}
mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.junchen.order.dal.dao.ExamPartEntityMapper">
<resultMap id="BaseResultMap" type="com.neusoft.order.dal.entity.ExamPartEntity">
<id column="EXAM_PART_ID" jdbcType="VARCHAR" property="examPartId" />
<result column="EXAM_PART_NAME" jdbcType="VARCHAR" property="examPartName" />
<result column="SORT_NO" jdbcType="DECIMAL" property="sortNo" />
<result column="APPLY_TYPE_ID" jdbcType="VARCHAR" property="applyTypeId" />
<result column="BIG_EXAM_PART_ID" jdbcType="VARCHAR" property="bigExamPartId" />
<result column="VALID_STATE" jdbcType="VARCHAR" property="validState" />
<result column="CREATE_DATE" jdbcType="TIMESTAMP" property="createDate" />
<result column="OPER_CODE" jdbcType="VARCHAR" property="operCode" />
<result column="OPER_DATE" jdbcType="TIMESTAMP" property="operDate" />
<result column="SPELL_CODE" jdbcType="VARCHAR" property="spellCode" />
<result column="WB_CODE" jdbcType="VARCHAR" property="wbCode" />
<result column="ENGLISH_NAME" jdbcType="VARCHAR" property="englishName" />
</resultMap>
<sql id="Base_Column_List">
EXAM_PART_ID, EXAM_PART_NAME, SORT_NO, APPLY_TYPE_ID, BIG_EXAM_PART_ID, VALID_STATE,
CREATE_DATE, OPER_CODE, OPER_DATE, SPELL_CODE, WB_CODE, ENGLISH_NAME
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from MET_ORDE_EXAMPART
where EXAM_PART_ID = #{examPartId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from MET_ORDE_EXAMPART
where EXAM_PART_ID = #{examPartId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.junchen.order.dal.entity.ExamPartEntity">
insert into MET_ORDE_EXAMPART (EXAM_PART_ID, EXAM_PART_NAME, SORT_NO,
APPLY_TYPE_ID, BIG_EXAM_PART_ID, VALID_STATE,
CREATE_DATE, OPER_CODE, OPER_DATE,
SPELL_CODE, WB_CODE, ENGLISH_NAME
)
values (#{examPartId,jdbcType=VARCHAR}, #{examPartName,jdbcType=VARCHAR}, #{sortNo,jdbcType=DECIMAL},
#{applyTypeId,jdbcType=VARCHAR}, #{bigExamPartId,jdbcType=VARCHAR}, #{validState,jdbcType=VARCHAR},
#{createDate,jdbcType=TIMESTAMP}, #{operCode,jdbcType=VARCHAR}, #{operDate,jdbcType=TIMESTAMP},
#{spellCode,jdbcType=VARCHAR}, #{wbCode,jdbcType=VARCHAR}, #{englishName,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.junchen.order.dal.entity.ExamPartEntity">
insert into MET_ORDE_EXAMPART
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="examPartId != null">
EXAM_PART_ID,
</if>
<if test="examPartName != null">
EXAM_PART_NAME,
</if>
<if test="sortNo != null">
SORT_NO,
</if>
<if test="applyTypeId != null">
APPLY_TYPE_ID,
</if>
<if test="bigExamPartId != null">
BIG_EXAM_PART_ID,
</if>
<if test="validState != null">
VALID_STATE,
</if>
<if test="createDate != null">
CREATE_DATE,
</if>
<if test="operCode != null">
OPER_CODE,
</if>
<if test="operDate != null">
OPER_DATE,
</if>
<if test="spellCode != null">
SPELL_CODE,
</if>
<if test="wbCode != null">
WB_CODE,
</if>
<if test="englishName != null">
ENGLISH_NAME,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="examPartId != null">
#{examPartId,jdbcType=VARCHAR},
</if>
<if test="examPartName != null">
#{examPartName,jdbcType=VARCHAR},
</if>
<if test="sortNo != null">
#{sortNo,jdbcType=DECIMAL},
</if>
<if test="applyTypeId != null">
#{applyTypeId,jdbcType=VARCHAR},
</if>
<if test="bigExamPartId != null">
#{bigExamPartId,jdbcType=VARCHAR},
</if>
<if test="validState != null">
#{validState,jdbcType=VARCHAR},
</if>
<if test="createDate != null">
#{createDate,jdbcType=TIMESTAMP},
</if>
<if test="operCode != null">
#{operCode,jdbcType=VARCHAR},
</if>
<if test="operDate != null">
#{operDate,jdbcType=TIMESTAMP},
</if>
<if test="spellCode != null">
#{spellCode,jdbcType=VARCHAR},
</if>
<if test="wbCode != null">
#{wbCode,jdbcType=VARCHAR},
</if>
<if test="englishName != null">
#{englishName,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.junchen.order.dal.entity.ExamPartEntity">
update MET_ORDE_EXAMPART
<set>
<if test="examPartName != null">
EXAM_PART_NAME = #{examPartName,jdbcType=VARCHAR},
</if>
<if test="sortNo != null">
SORT_NO = #{sortNo,jdbcType=DECIMAL},
</if>
<if test="applyTypeId != null">
APPLY_TYPE_ID = #{applyTypeId,jdbcType=VARCHAR},
</if>
<if test="bigExamPartId != null">
BIG_EXAM_PART_ID = #{bigExamPartId,jdbcType=VARCHAR},
</if>
<if test="validState != null">
VALID_STATE = #{validState,jdbcType=VARCHAR},
</if>
<if test="createDate != null">
CREATE_DATE = #{createDate,jdbcType=TIMESTAMP},
</if>
<if test="operCode != null">
OPER_CODE = #{operCode,jdbcType=VARCHAR},
</if>
<if test="operDate != null">
OPER_DATE = #{operDate,jdbcType=TIMESTAMP},
</if>
<if test="spellCode != null">
SPELL_CODE = #{spellCode,jdbcType=VARCHAR},
</if>
<if test="wbCode != null">
WB_CODE = #{wbCode,jdbcType=VARCHAR},
</if>
<if test="englishName != null">
ENGLISH_NAME = #{englishName,jdbcType=VARCHAR},
</if>
</set>
where EXAM_PART_ID = #{examPartId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.junchen.order.dal.entity.ExamPartEntity">
update MET_ORDE_EXAMPART
set EXAM_PART_NAME = #{examPartName,jdbcType=VARCHAR},
SORT_NO = #{sortNo,jdbcType=DECIMAL},
APPLY_TYPE_ID = #{applyTypeId,jdbcType=VARCHAR},
BIG_EXAM_PART_ID = #{bigExamPartId,jdbcType=VARCHAR},
VALID_STATE = #{validState,jdbcType=VARCHAR},
CREATE_DATE = #{createDate,jdbcType=TIMESTAMP},
OPER_CODE = #{operCode,jdbcType=VARCHAR},
OPER_DATE = #{operDate,jdbcType=TIMESTAMP},
SPELL_CODE = #{spellCode,jdbcType=VARCHAR},
WB_CODE = #{wbCode,jdbcType=VARCHAR},
ENGLISH_NAME = #{englishName,jdbcType=VARCHAR}
where EXAM_PART_ID = #{examPartId,jdbcType=VARCHAR}
</update>
</mapper>
STATE = #{validState,jdbcType=VARCHAR},
CREATE_DATE = #{createDate,jdbcType=TIMESTAMP},
OPER_CODE = #{operCode,jdbcType=VARCHAR},
OPER_DATE = #{operDate,jdbcType=TIMESTAMP},
SPELL_CODE = #{spellCode,jdbcType=VARCHAR},
WB_CODE = #{wbCode,jdbcType=VARCHAR},
ENGLISH_NAME = #{englishName,jdbcType=VARCHAR}
where EXAM_PART_ID = #{examPartId,jdbcType=VARCHAR}
</update>
</mapper>