文档章节

MyBatis 根据表结构自动生成代码, domain, dao, mapper 文件

陈袁at互联
 陈袁at互联
发布于 2014/05/04 20:19
字数 510
阅读 18257
收藏 18

首先, 看看我的项目的包结构, 用的IDEA13.1,gradle包管理工具, ...其他的就没什么可说的;

今天, 主要讲 generator 里面的东西; mysql的jar包是我自己贴过来的, 只要待会儿你能将路径指向它, 也没有问题;

第一步: 来看看 generator.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="mysql-connector-java-5.1.11.jar"/>

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 数据库链接URL、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/space"
                        userId="root" password="root">
        </jdbcConnection>

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

        <!-- 生成模型的包名和位置 -->
        <javaModelGenerator targetPackage="net.ningmengcao.space.domain" targetProject="/Users/chenyuan/Workspaces/Github/ningnengcao-space/document/generator/src">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>

        </javaModelGenerator>
        <!-- 生成的映射文件包名和位置 -->
        <sqlMapGenerator targetPackage="net.ningmengcao.space.mapper" targetProject="/Users/chenyuan/Workspaces/Github/ningnengcao-space/document/generator/src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 生成DAO的包名和位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="net.ningmengcao.space.dao" targetProject="/Users/chenyuan/Workspaces/Github/ningnengcao-space/document/generator/src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
        <table tableName="tweet" domainObjectName="Tweet" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>

这里面要指定好jar包, 每个文件生成的路径, 还有表. 特别注意, table里面的那些false如果不写的话, 会生成很多我觉得不想要的, 如果你想看效果, 你自己可以全部去掉; 

第二步: 很重要, 见证奇迹的时刻到了. 我们在"当前目录", 就是 generator 目录下面, 执行一行生成语句;

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

然后就可以看见代码了, 看看图:

OK, 就这些的, 一点都不难. 是吧~

© 著作权归作者所有

陈袁at互联
粉丝 54
博文 41
码字总数 26406
作品 0
深圳
高级程序员
私信 提问
加载中

评论(2)

陈袁at互联
陈袁at互联 博主

引用来自“Jerry-hu”的评论

上周刚刚折腾过……赶脚还是不太符合实际需求,正在自己动手修改源码中……
那是, 什么都应该已实际场景来做选择. 做通用的东西, 就是啥都要照顾, 所以不是都适合. 想平时的POPJ这些. 就会很省力气.
Jerry-hu
Jerry-hu
上周刚刚折腾过……赶脚还是不太符合实际需求,正在自己动手修改源码中……
Intellij下mybatis插件--MyBatisCodeHelper

MyBatisCodeHelper 是 Intellij 上的 mybatis 插件,通过 java 对象生成建表 sql,dao,mapper xml 文件, 方便的生成 curd,另外可以通过 mybatis 接口上的方法名直接生成 sql,单表 90% sq...

葛俊
2017/02/14
6.1K
9
jack.hu/CodeGenerator

代码自动生成工具 一、简介 1.1 概述 CodeGenerator是一个轻量的代码生成工具,可以在常规的项目开发初始阶段生成model、dao、Mapper、 mapper(mybatis)、service、controller,项目思路来...

jack.hu
2016/11/15
0
0
使用MyBatis Generator自动生成代码

本文给出一个在Maven工程中,使用MyBatis Generator代码生成工具生成代码的示例。 自动生成的文件有如下几个部分: Dao (Mapper) Entity 以及 Entity对应的Example XML 环境准备 数据库表 创...

王孟君
2016/11/08
3.1K
1
Mybatis 入门案例 2 ---- mapper 代理的方式

我们只需要编写DAO接口和mapper.xml文件即可,DAO接口实现对象由mybatis自动生成代理对象。 如: 一、为什么不使用原始的DAO方式开发呢? 1、dao的实现类中存在重复代码,整个mybatis操作的过...

故新
2017/11/07
0
0
springboot(六):如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和myb...

ityouknow
2016/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
今天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
今天
6
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
今天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.5K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部