Intellij IDEA中使用MyBatis

Stella981
• 阅读 824

1、IDEA创建maven工程(略)

2、 在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件和MySQL数据库驱动依赖

<build>  
  <plugins>  
    <plugin>  
      <groupId>org.mybatis.generator</groupId>  
      <artifactId>mybatis-generator-maven-plugin</artifactId>  
      <version>1.3.5</version>  
      <configuration>  
        <verbose>true</verbose>  
        <overwrite>true</overwrite>  
      </configuration>  
    </plugin>  
  </plugins>  
</build>

<dependency>  
  <groupId>mysql</groupId>  
  <artifactId>mysql-connector-java</artifactId>  
  <version>5.1.34</version>  
</dependency>  

3、在maven项目下的src/main/resources 目录下建立名为 generatorConfig.xml的配置文件,作为mybatis-generator-maven-plugin 插件的执行目标,模板如下:

<?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>  
    <!\-\- 配置mysql 驱动jar包路径.用了绝对路径 -->  
    <classPathEntry location="/Users/wangyongzhi/.m2/repository/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar" />  
    
    <context id="wangyongzhi\_mysql\_tables" targetRuntime="MyBatis3">  
        <!\-\- 防止生成的代码中有很多注释,加入下面的配置控制 -->  
        <commentGenerator>  
            <property name="suppressAllComments" value="true" />  
            <property name="suppressDate" value="true" />  
        </commentGenerator>

        <!\-\- 数据库连接 -->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
                        connectionURL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8"  
                        userId="root"  
                        password="123456">  
        </jdbcConnection>

        <javaTypeResolver >  
            <property name="forceBigDecimals" value="false" />  
        </javaTypeResolver>

        <!\-\- 数据表对应的model层  -->  
        <javaModelGenerator targetPackage="me.zhige.domain" targetProject="src">  
            <property name="enableSubPackages" value="true" />  
            <property name="trimStrings" value="true" />  
        </javaModelGenerator>

        <!\-\- sql mapper 映射配置文件 -->  
        <sqlMapGenerator targetPackage="me.zhige.mapper"  targetProject="src">  
            <property name="enableSubPackages" value="true" />  
        </sqlMapGenerator>

        <!\-\- mybatis3中的mapper接口 -->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="me.zhige.dao"  targetProject="src">  
            <property name="enableSubPackages" value="true" />  
        </javaClientGenerator>

        <!\-\- 数据表进行生成操作 schema:相当于库名; tableName:表名; domainObjectName:对应的DO -->  
        <table schema="test" tableName="users" domainObjectName="User"  
               enableCountByExample="false" enableUpdateByExample="false"  
               enableDeleteByExample="false" enableSelectByExample="false"  
               selectByExampleQueryId="false">  
        </table>

    </context>  
</generatorConfiguration>  

4、使用maven运行mybatis-generator-maven-plugin插件:工程名->Plugins->mybatis-generator->mybatis-generator:generate->Run Maven Build

![图片发自简书App](http://upload-images.jianshu.io/upload_images/1197115-7175ce5b29ae02c4.jpg)

5、自动生成的结构如下:

![img](https://static.dingtalk.com/media/lALOvepB4syczOY_230_156.png_620x10000q90g.jpg)

如果觉得内容还不错,可以关注一下我哦 
微信公众号:志哥 (ID: zhige-me) 
期待与你相遇,一同成长前行!
![微信公众号:志哥 (ID: zhige-me)](http://upload-images.jianshu.io/upload_images/1197115-f4baf19c91684f8d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这