在pom.xml的project>build里面添加如下代码,让maven环境支持mybatis-generator组件

  1.  
    <pluginManagement>
  2.  
    <plugins>
  3.  
    <plugin>
  4.  
    <groupId>org.mybatis.generator</groupId>
  5.  
    <artifactId>mybatis-generator-maven-plugin</artifactId>
  6.  
    <version>1.3.2</version>
  7.  
    <configuration>
  8.  
    <configurationFile>src/main/resources/generator.xml</configurationFile>
  9.  
    <verbose>true</verbose>
  10.  
    <overwrite>true</overwrite>
  11.  
    </configuration>
  12.  
    <executions>
  13.  
    <execution>
  14.  
    <id>Generate MyBatis Artifacts</id>
  15.  
    <goals>
  16.  
    <goal>generate</goal>
  17.  
    </goals>
  18.  
    </execution>
  19.  
    </executions>
  20.  
    <dependencies>
  21.  
    <dependency>
  22.  
    <groupId>org.mybatis.generator</groupId>
  23.  
    <artifactId>mybatis-generator-core</artifactId>
  24.  
    <version>1.3.2</version>
  25.  
    </dependency>
  26.  
    </dependencies>
  27.  
    </plugin>
  28.  
    <plugin>
  29.  
    <groupId>org.apache.maven.plugins</groupId>
  30.  
    <artifactId>maven-surefire-plugin</artifactId>
  31.  
    <version>2.19.1</version>
  32.  
    <configuration>
  33.  
    <skipTests>true</skipTests>
  34.  
    </configuration>
  35.  
    </plugin>
  36.  
     
  37.  
    <plugin>
  38.  
    <groupId>org.apache.maven.plugins</groupId>
  39.  
    <artifactId>maven-resources-plugin</artifactId>
  40.  
    <version>3.0.1</version>
  41.  
    <configuration>
  42.  
    <encoding>UTF-8</encoding>
  43.  
    </configuration>
  44.  
    </plugin>
  45.  
    </plugins>
  46.  
    </pluginManagement>

注:如果在dependencies中已经引入mysql-connector-java则不需加入以下dependency,反之加入

  1.  
    <dependency>
  2.  
    <groupId>mysql</groupId>
  3.  
    <artifactId>mysql-connector-java</artifactId>
  4.  
    <version>5.1.35</version>
  5.  
    <scope>runtime</scope>
  6.  
    </dependency>

2、generator.xml配置文件

需逆向的表:

逆向代码生成目录结构:

对应配置:

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  3.  
    <generatorConfiguration>
  4.  
    <!-- 数据库驱动包位置 -->
  5.  
    <classPathEntry
  6.  
    location="E:\apache-maven-3.3.9\repo\mysql\mysql-connector-java\5.1.18\mysql-connector-java-5.1.18.jar" />
  7.  
    <context id="Tables" targetRuntime="MyBatis3">
  8.  
    <commentGenerator>
  9.  
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
  10.  
    <property name="suppressAllComments" value="true" />
  11.  
    </commentGenerator>
  12.  
    <!-- 数据库链接URL、用户名、密码 -->
  13.  
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
  14.  
    connectionURL="jdbc:mysql://192.168.100.52:3306/dev_test" userId="数据库用户名"
  15.  
    password="数据库密码">
  16.  
    <!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl"
  17.  
    userId="msa" password="msa"> -->
  18.  
    </jdbcConnection>
  19.  
    <javaTypeResolver>
  20.  
    <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer, 为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal -->
  21.  
    <property name="forceBigDecimals" value="true" />
  22.  
    </javaTypeResolver>
  23.  
    <!-- 生成实体类的包名和位置,这里配置将生成的实体类放在com.loan.test.entity这个包下 -->
  24.  
    <javaModelGenerator targetPackage="com.loan.test.entity"
  25.  
    targetProject=".\src\main\java\">
  26.  
    <!-- enableSubPackages:是否让schema作为包的后缀 -->
  27.  
    <property name="enableSubPackages" value="true" />
  28.  
    <!-- 从数据库返回的值被清理前后的空格 -->
  29.  
    <property name="trimStrings" value="true" />
  30.  
    </javaModelGenerator>
  31.  
    <!-- 生成的SQL映射文件包名和位置,这里配置将生成的SQL映射文件放在com.loan.test.dao.xml这个包下 -->
  32.  
    <sqlMapGenerator targetPackage="com.loan.test.dao.xml"
  33.  
    targetProject=".\src\main\java\">
  34.  
    <!-- enableSubPackages:是否让schema作为包的后缀 -->
  35.  
    <property name="enableSubPackages" value="true" />
  36.  
    </sqlMapGenerator>
  37.  
    <!-- 生成DAO的包名和位置,这里配置将生成的dao类放在com.loan.test.dao.mapper这个包下 -->
  38.  
    <javaClientGenerator type="XMLMAPPER"
  39.  
    targetPackage="com.loan.test.dao.mapper" targetProject=".\src\main\java\">
  40.  
    <!-- enableSubPackages:是否让schema作为包的后缀 -->
  41.  
    <property name="enableSubPackages" value="true" />
  42.  
    </javaClientGenerator>
  43.  
    <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
  44.  
    <table tableName="test" domainObjectName="Test"
  45.  
    enableCountByExample="false" enableUpdateByExample="false"
  46.  
    enableDeleteByExample="false" enableSelectByExample="false"
  47.  
    selectByExampleQueryId="false" />
  48.  
    </context>
  49.  
    </generatorConfiguration>

3、运用maven指令生成逆向工程

项目右键->run as->maven build...,Goals:中输入mybatis-generator:generate

.

4、刷新项目,结果

1)Test.java

  1.  
    package com.loan.test.entity;
  2.  
     
  3.  
    import java.math.BigDecimal;
  4.  
     
  5.  
    public class Test {
  6.  
    private Integer id;
  7.  
     
  8.  
    private String userName;
  9.  
     
  10.  
    private Integer cardId;
  11.  
     
  12.  
    private BigDecimal moneyAmount;
  13.  
     
  14.  
    public Integer getId() {
  15.  
    return id;
  16.  
    }
  17.  
     
  18.  
    public void setId(Integer id) {
  19.  
    this.id = id;
  20.  
    }
  21.  
     
  22.  
    public String getUserName() {
  23.  
    return userName;
  24.  
    }
  25.  
     
  26.  
    public void setUserName(String userName) {
  27.  
    this.userName = userName == null ? null : userName.trim();
  28.  
    }
  29.  
     
  30.  
    public Integer getCardId() {
  31.  
    return cardId;
  32.  
    }
  33.  
     
  34.  
    public void setCardId(Integer cardId) {
  35.  
    this.cardId = cardId;
  36.  
    }
  37.  
     
  38.  
    public BigDecimal getMoneyAmount() {
  39.  
    return moneyAmount;
  40.  
    }
  41.  
     
  42.  
    public void setMoneyAmount(BigDecimal moneyAmount) {
  43.  
    this.moneyAmount = moneyAmount;
  44.  
    }
  45.  
    }

2)TestMapper.java

  1.  
    package com.loan.test.dao.mapper;
  2.  
     
  3.  
    import com.loan.test.entity.Test;
  4.  
     
  5.  
    public interface TestMapper {
  6.  
    int deleteByPrimaryKey(Integer id);
  7.  
     
  8.  
    int insert(Test record);
  9.  
     
  10.  
    int insertSelective(Test record);
  11.  
     
  12.  
    Test selectByPrimaryKey(Integer id);
  13.  
     
  14.  
    int updateByPrimaryKeySelective(Test record);
  15.  
     
  16.  
    int updateByPrimaryKey(Test record);
  17.  
    }

3)TestMapper.xml

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3.  
    <mapper namespace="com.loan.test.dao.mapper.TestMapper">
  4.  
    <resultMap id="BaseResultMap" type="com.loan.test.entity.Test">
  5.  
    <id column="id" jdbcType="INTEGER" property="id" />
  6.  
    <result column="user_name" jdbcType="VARCHAR" property="userName" />
  7.  
    <result column="card_id" jdbcType="INTEGER" property="cardId" />
  8.  
    <result column="money_amount" jdbcType="DECIMAL" property="moneyAmount" />
  9.  
    </resultMap>
  10.  
    <sql id="Base_Column_List">
  11.  
    id, user_name, card_id, money_amount
  12.  
    </sql>
  13.  
    <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
  14.  
    select
  15.  
    <include refid="Base_Column_List" />
  16.  
    from test
  17.  
    where id = #{id,jdbcType=INTEGER}
  18.  
    </select>
  19.  
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
  20.  
    delete from test
  21.  
    where id = #{id,jdbcType=INTEGER}
  22.  
    </delete>
  23.  
    <insert id="insert" parameterType="com.loan.test.entity.Test">
  24.  
    insert into test (id, user_name, card_id,
  25.  
    money_amount)
  26.  
    values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{cardId,jdbcType=INTEGER},
  27.  
    #{moneyAmount,jdbcType=DECIMAL})
  28.  
    </insert>
  29.  
    <insert id="insertSelective" parameterType="com.loan.test.entity.Test">
  30.  
    insert into test
  31.  
    <trim prefix="(" suffix=")" suffixOverrides=",">
  32.  
    <if test="id != null">
  33.  
    id,
  34.  
    </if>
  35.  
    <if test="userName != null">
  36.  
    user_name,
  37.  
    </if>
  38.  
    <if test="cardId != null">
  39.  
    card_id,
  40.  
    </if>
  41.  
    <if test="moneyAmount != null">
  42.  
    money_amount,
  43.  
    </if>
  44.  
    </trim>
  45.  
    <trim prefix="values (" suffix=")" suffixOverrides=",">
  46.  
    <if test="id != null">
  47.  
    #{id,jdbcType=INTEGER},
  48.  
    </if>
  49.  
    <if test="userName != null">
  50.  
    #{userName,jdbcType=VARCHAR},
  51.  
    </if>
  52.  
    <if test="cardId != null">
  53.  
    #{cardId,jdbcType=INTEGER},
  54.  
    </if>
  55.  
    <if test="moneyAmount != null">
  56.  
    #{moneyAmount,jdbcType=DECIMAL},
  57.  
    </if>
  58.  
    </trim>
  59.  
    </insert>
  60.  
    <update id="updateByPrimaryKeySelective" parameterType="com.loan.test.entity.Test">
  61.  
    update test
  62.  
    <set>
  63.  
    <if test="userName != null">
  64.  
    user_name = #{userName,jdbcType=VARCHAR},
  65.  
    </if>
  66.  
    <if test="cardId != null">
  67.  
    card_id = #{cardId,jdbcType=INTEGER},
  68.  
    </if>
  69.  
    <if test="moneyAmount != null">
  70.  
    money_amount = #{moneyAmount,jdbcType=DECIMAL},
  71.  
    </if>
  72.  
    </set>
  73.  
    where id = #{id,jdbcType=INTEGER}
  74.  
    </update>
  75.  
    <update id="updateByPrimaryKey" parameterType="com.loan.test.entity.Test">
  76.  
    update test
  77.  
    set user_name = #{userName,jdbcType=VARCHAR},
  78.  
    card_id = #{cardId,jdbcType=INTEGER},
  79.  
    money_amount = #{moneyAmount,jdbcType=DECIMAL}
  80.  
    where id = #{id,jdbcType=INTEGER}
  81.  
    </update>
  82.  
    <resultMap id="BaseResultMap" type="com.loan.test.entity.Test">
  83.  
    <id column="id" jdbcType="INTEGER" property="id" />
  84.  
    <result column="user_name" jdbcType="VARCHAR" property="userName" />
  85.  
    <result column="card_id" jdbcType="INTEGER" property="cardId" />
  86.  
    <result column="money_amount" jdbcType="DECIMAL" property="moneyAmount" />
  87.  
    </resultMap>
  88.  
    <sql id="Base_Column_List">
  89.  
    id, user_name, card_id, money_amount
  90.  
    </sql>
  91.  
    <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
  92.  
    select
  93.  
    <include refid="Base_Column_List" />
  94.  
    from test
  95.  
    where id = #{id,jdbcType=INTEGER}
  96.  
    </select>
  97.  
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
  98.  
    delete from test
  99.  
    where id = #{id,jdbcType=INTEGER}
  100.  
    </delete>
  101.  
    <insert id="insert" parameterType="com.loan.test.entity.Test">
  102.  
    insert into test (id, user_name, card_id,
  103.  
    money_amount)
  104.  
    values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{cardId,jdbcType=INTEGER},
  105.  
    #{moneyAmount,jdbcType=DECIMAL})
  106.  
    </insert>
  107.  
    <insert id="insertSelective" parameterType="com.loan.test.entity.Test">
  108.  
    insert into test
  109.  
    <trim prefix="(" suffix=")" suffixOverrides=",">
  110.  
    <if test="id != null">
  111.  
    id,
  112.  
    </if>
  113.  
    <if test="userName != null">
  114.  
    user_name,
  115.  
    </if>
  116.  
    <if test="cardId != null">
  117.  
    card_id,
  118.  
    </if>
  119.  
    <if test="moneyAmount != null">
  120.  
    money_amount,
  121.  
    </if>
  122.  
    </trim>
  123.  
    <trim prefix="values (" suffix=")" suffixOverrides=",">
  124.  
    <if test="id != null">
  125.  
    #{id,jdbcType=INTEGER},
  126.  
    </if>
  127.  
    <if test="userName != null">
  128.  
    #{userName,jdbcType=VARCHAR},
  129.  
    </if>
  130.  
    <if test="cardId != null">
  131.  
    #{cardId,jdbcType=INTEGER},
  132.  
    </if>
  133.  
    <if test="moneyAmount != null">
  134.  
    #{moneyAmount,jdbcType=DECIMAL},
  135.  
    </if>
  136.  
    </trim>
  137.  
    </insert>
  138.  
    <update id="updateByPrimaryKeySelective" parameterType="com.loan.test.entity.Test">
  139.  
    update test
  140.  
    <set>
  141.  
    <if test="userName != null">
  142.  
    user_name = #{userName,jdbcType=VARCHAR},
  143.  
    </if>
  144.  
    <if test="cardId != null">
  145.  
    card_id = #{cardId,jdbcType=INTEGER},
  146.  
    </if>
  147.  
    <if test="moneyAmount != null">
  148.  
    money_amount = #{moneyAmount,jdbcType=DECIMAL},
  149.  
    </if>
  150.  
    </set>
  151.  
    where id = #{id,jdbcType=INTEGER}
  152.  
    </update>
  153.  
    <update id="updateByPrimaryKey" parameterType="com.loan.test.entity.Test">
  154.  
    update test
  155.  
    set user_name = #{userName,jdbcType=VARCHAR},
  156.  
    card_id = #{cardId,jdbcType=INTEGER},
  157.  
    money_amount = #{moneyAmount,jdbcType=DECIMAL}
  158.  
    where id = #{id,jdbcType=INTEGER}
  159.  
    </update>
  160.  
    </mapper>

配置完成!!

eclipse中利用Maven逆向工程生成PO类以及mapper(mybatis)的更多相关文章

  1. 在Eclipse中利用maven整合搭建ssm框架

    首先说明用到的框架: spring  +  springMVC  +  mybatis 构建工具:maven 开发工具:eclipse 开发环境:win10      java版本:jdk1.8    ...

  2. 利用Eclipse中的Maven构建Web项目(三)

    利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.依据Dynamic W ...

  3. 利用Eclipse中的Maven构建Web项目报错(二)

    利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...

  4. 利用Eclipse中的Maven构建Web项目报错(一)

    利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4 ...

  5. 利用Eclipse中的Maven构建Web项目(二)

    利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...

  6. 利用Eclipse中的Maven构建Web项目(一)

    利用Eclipse中的Maven构建Web项目 1.新建一个Maven Project,"New-->Other..." 2.选择"Maven Project&qu ...

  7. Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)

    转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12 写在前面的话 现在是越来越太原讨厌Eclipse这 ...

  8. Maven学习(一) -- 安装Maven及Eclipse中配置Maven

    标签(空格分隔): 学习笔记 本文环境:Windows7, JDK1.7.0_76 安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能 ...

  9. Eclipse 中构建 Maven 项目的完整过程 - SpringBoot 项目

    进行以下步骤的前提是你已经安装好本地maven库和eclipse中的maven插件了(有的eclipse中已经集成了maven插件) 一.Maven项目的新建 1.鼠标右键---->New--- ...

  10. Mybatis逆向工程生成po、mapper接口、mapper.xml

    Mybatis逆向工程生成po.mapper接口.mapper.xml 一.新建一个maven工程 请查看我的另一篇博客:<使用idea创建一个maven工程> 二.引入所需依赖 需要my ...

随机推荐

  1. Request processing failed;

    用 ssm 框架修改数据库数据时,出现了 Request processing failed; nested exception is org.mybatis.spring.MyBatisSystem ...

  2. 01_Node的版本管理

    Node的版本管理工具 常见的node的版本管理工具有两种N.NVM 但是他们有一个致命的问题就是不支持Windwos 但是NVM延申了一个nvm-windows的版本,他就可以很好的支持window ...

  3. springboot gradle 加速问题

    初始化项目使用阿里云 seriver url : https://start.spring.io 直接修改为: https://start.aliyun.com 关键的gradle 修改安装包地址 g ...

  4. pytorch 入门

    import matplotlib.pyplot as plt from torchvision.transforms import ToTensor import torch from torch ...

  5. 使用JFinal实现简单的学生管理系统

    JFinal简介 Controller是JFinal核按心类美之一,该类作为MVC模式中的控制器.基于JFinal的Web应用的控制器需要继承该类.Controller是定义Action方法的地点,是 ...

  6. css3中-webkit是什么意思

    在CSS样式中很多样式名前缀都带有'-webkit-',但在CSS提供的API中查询不到这些样式名. 原因:CSS3中新增了一些属性,针对不同的浏览器,规定其内核名称让它们可以对这些新增属性进行解析. ...

  7. 搭建ftp服务器的超详细步骤

    第一步:打开控制面板. 1.1选择程序这个选项. 1.2选择启用或关闭window功能 1.3勾选如图有红箭头的这几个选项. 第二步:搜索iis且将其打开 . 2.1点击网站,且点击添加网站 物理路径 ...

  8. yestoday once more

    夏日的光为百叶窗所驯服,褪去了令人刺痛的热烈.yestoday once more~ 耳机里传来那熟悉的旋律,恍惚间仿佛回到了十五年前的那个午后,老式收音机里放着同样的歌曲,对面办公桌旁某个少年正惶恐 ...

  9. 文件校验和(checksum或Hash)计算工具

    Windows操作系统 1.certutil---windows自带的certutil工具 用法:certutil -hashfile pathToFileToCheck  [HashAlgorith ...

  10. STM32F0 LL库IIC第二地址配置错误

    最近在做F0项目要用到多个IIC地址,使用Cube生成的LL库,第二地址进不了中断 F0版本:1.11.0 STM32CubeX生成的LL库代码为: 1 static void MX_I2C1_Ini ...