MyBatis自动生成

来源:互联网 发布:湄公河大案泰国 知乎 编辑:程序博客网 时间:2024/04/30 14:16

用github的Mybatis generator自动生成mybatis文件、dao文件和service文件。

(https://github.com/mybatis/generator/releases)


1. 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="D:/workspace/createDao/lib/mysql-connector-java-5.1.34.jar" /> 
<!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />-->
<context id="DB2Tables">
<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>

<commentGenerator type="org.mybatis.generator.DbCommentGenerator"/>

<!-- 数据库链接URL、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://172.28.17.222:32959/idccmdb" userId="bg_idcuser" password="GK(B8@ks^*JH"> 
<!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa">-->
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="com.chinanetcenter.service.itop.mybatis.entry" targetProject="D:\workspace\itop\itop-service\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="com.chinanetcenter.service.itop.mybatis.mapper" targetProject="D:\workspace\itop\itop-service\src\main\resources\mapper">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.chinanetcenter.service.itop.mybatis.dao" targetProject="D:\workspace\itop\itop-service\src\main\java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->

<!-- 
<table tableName="sys_menu"/>
<table tableName="sys_role" />
<table tableName="sys_role_menu" />
<table tableName="sys_user" />
<table tableName="sys_user_role" />
-->

<table tableName="view_power" />
<table tableName="view_networkdevice_interface" />
<table tableName="view_nic_convert_module" />
<table tableName="view_networkdevice_current_connect" />

</context>
</generatorConfiguration>


2.  _Service.ftl:生成service文件

package ${parentPackage}.service${morePackage};

import org.springframework.beans.factory.annotation.Autowired;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import ${parentPackage}.mybatis.dao${morePackage}.*;
import ${parentPackage}.mybatis.entry${morePackage}.*;
import com.leweiyou.service.util.Commons;

import java.util.List;
import java.util.Set;

/**
 * 鍑℃槸浠寮�ご鐨凷ervice绫伙紝閮藉睘浜庤嚜鍔ㄧ敓鎴愮殑绫伙紝涓嶆彁鍊″湪杩欓噷娣诲姞service鏂规硶锛岃鍦╔XXXService绫婚噷鍔犺嚜瀹氫箟鏂规硶銆�
 * @author Zhangweican
 *
 */
public abstract class _${entryName}Service{


@Autowired
protected ${entryName}Mapper ${entityNameLowerCase}Mapper;


//================鏂规硶鑷姩鐢熸垚鍖�===============
    /**
     * 鏀寔鍒嗛〉鏌ヨ
     */
public PageInfo<${entryName}> selectByExample(${entryName}Example e,int offer, int limit) throws RuntimeException{
PageHelper.startPage(offer, limit);
PageInfo<${entryName}> page = new PageInfo<${entryName}>(${entityNameLowerCase}Mapper.selectByExample(e));
return page;
}

    /**
     * 鏌ヨ鍞竴瀵硅薄锛屽鏋滄病鏈夎褰曡繑鍥濶ull
     */
  public ${entryName} selectOne(${entryName}Example example) throws RuntimeException{
List<${entryName}> list = ${entityNameLowerCase}Mapper.selectByExample(example);
      return (list == null || list.size() == 0) ? null : list.get(0);
  }


    /**
     * 鏌ヨ璁板綍鏉℃暟
     */
public int countByExample(${entryName}Example example) throws RuntimeException{
        return ${entityNameLowerCase}Mapper.countByExample(example);
    }
}


3.  用MyBatisGeneratorTools生成mybatis文件,用 ServiceGeneratorToolsByFreemark生成service文件。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买高铁票没赶上怎么办 电脑放视频没有声音怎么办 内业计算中角度超限怎么办 遇到飞机出故障乘客怎么办 模拟城市5矿产满了怎么办 模拟城市5劳工短缺怎么办 模拟城市5土地价值低怎么办 考上研究生想二战研究生学籍怎么办 小米3屏幕花屏怎么办 狗被城管抓了怎么办 隔壁家的狗扰民怎么办 遛狗碰到碰瓷老太太怎么办 碰到保安碰瓷的人怎么办 碰到碰瓷的车怎么办 商品房楼上邻居违规装修怎么办 遇到不讲道理的邻居怎么办 邻居告我我该怎么办 丈夫判刑十年回来妻子怎么办 有人发色情信息给妻子怎么办 小孩拉蛋花样便怎么办 鸡下的蛋壳是软怎么办 幼升小错过了现场审核怎么办 老人户口迁移到北京医保怎么办 过山洞经常堵耳朵怎么办 门有了一个洞该怎么办 公司要求补税没钱补怎么办 公司补税补不起了怎么办 脚被石头砸肿了怎么办 砸到脚背肿了怎么办 小猫吃完饭抓地怎么办 耳机链接处断了怎么办 表链从表盘断了怎么办 龟头和皮分开了怎么办 微信买票被骗了怎么办 撞车了我的全责怎么办 蒙田包包里面不耐脏怎么办? 摩托车转向灯不会打怎么办 浓硫酸弄到脸上怎么办 钥匙被锁在家里怎么办 有奶宝宝吸不出来怎么办 奶涨宝宝吸不出来怎么办