1.背景

在练习使用mybatis-generator时候,无意间看到博文esaycode(代码神器),https://www.jianshu.com/p/e4192d7c6844,试验完,感觉这个工具和mybatis-generator工具类似。

2.使用步骤

<1>idea安装easy code插件;
<2>使用idea的database功能,连接到数据库,支持oracle、mysql;
<3>对应table,使用generate code;
<4>修改代码,自动生成很难完全满足需求,仍然需要修改(比如使用ojdbc,生成的语法居然是mysql的分页语法,所以这个工具只是帮助做一些简单的任务)

3.测试代码

3.1工程目录

3.2配置文件

datasource.properties

jdbc.databaseurl=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.13.44)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=db1)))
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.username=admin
jdbc.password=123

mybatis-config.xml

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<propertiesresource="config/datasource.properties"></properties> <typeAliases>
<!--别名方式1,一个一个的配置type中放置的是类的全路径,alias中放置的是类别名
<typeAliasetype="com.mybatis.demo.Entity.User"alias="UserBean"/>-->
<!--别名方式2,自动扫描,将JAVA类的类名作为类的类别名-->
<!--<packagename="com.mybatis.demo.Entity"/>-->
<typeAliasalias="TaskResultRecord"type="com.common.easycode.entity. Record"/>
</typeAliases> <!--配置mybatis运行环境-->
<environmentsdefault="development">
<environmentid="development">
<!--type="JDBC"代表使用JDBC的提交和回滚来管理事务-->
<transactionManagertype="JDBC"/> <!--mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI-->
<!--POOLED表示支持JDBC数据源连接池-->
<!--UNPOOLED表示不支持数据源连接池-->
<!--JNDI表示支持外部数据源连接池-->
<dataSourcetype="POOLED">
<propertyname="driver"value="${jdbc.driver}"/>
<propertyname="url"value="${jdbc.databaseurl}"/>
<propertyname="username"value="${jdbc.username}"/>
<propertyname="password"value="${jdbc.password}"/>
</dataSource>
</environment>
</environments> <mappers>
<!--映射文件方式1,一个一个的配置-->
<mapperresource="mapper/RecordDao.xml"/>
<!--映射文件方式2,自动扫描包内的Mapper接口与配置文件-->
<!--<packagename="com.mybatis.demo"/>-->
</mappers> </configuration>

pom.xml

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency> <dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
3.3.测试代码
publicclassTaskResultRecordService{

publicstaticvoidmain(String[]args){
/*
测试easycode
*/
try{
Reader reader=Resources.getResourceAsReader("config/mybatis-config.xml");
SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(reader);
SqlSession session=sessionFactory.openSession();
RecordDao recordDao=session.getMapper(RecordDao.class);
recordDAO.selectById... session.commit();
}catch(IOExceptione){
e.printStackTrace();
}
}
}

4.注意事项

1.使用ojdbc6的时候出现了: java.lang.ArrayIndexOutOfBoundsException: 9 ;【解决办法】使用ojdbc7
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>

idea-plugin-easycode的更多相关文章

  1. IDEA+EasyCode实现代码生成

    IDEA+EasyCode实现代码生成 Easy Code介绍 EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml).只要是与数据 ...

  2. Java代码工具EasyCode使用

    写Java代码,增删改查,最无趣而又最基础.那机器人就来了,帮你写,减少你的基础的无趣的工作. 推荐两个代写代码的神奇工具Mybatis-generator与EasyCode.这两款软件的数据库持久层 ...

  3. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  4. [转]NopCommerce How to add a menu item into the administration area from a plugin

    本文转自:http://docs.nopcommerce.com/display/nc/How+to+code+my+own+shipping+rate+computation+method Go t ...

  5. MySQL: Table 'mysql.plugin' doesn't exist的解决

    安装解压版MySQL以后,不能启动,日志里面出现了这个错误: MySQL: Table 'mysql.plugin' doesn't exist 这是因为mysql服务启动时候找不到内置数据库&quo ...

  6. JQuery plugin ---- simplePagination.js API

    CSS Themes "light-theme" "dark-theme" "compact-theme" How To Use Step ...

  7. 学习Maven之Maven Clean Plugin

    1.maven-clean-plugin是个什么鬼? maven-clean-plugin这个插件用maven的人都不陌生.我们在执行命令mvn clean时调用的就是这个插件. 这个插件的主要作用就 ...

  8. MySQL 从 5.5 升级到 5.6,启动时报错 [ERROR] Plugin 'InnoDB' init function returned error

    MySQL 从 5.5 升级到 5.6,启动时报错: [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'Inn ...

  9. No plugin found for prefix 'mybatis-generator' in the current project

    http://blog.csdn.net/you23hai45/article/details/50792430 1.错误描述 F:\workspaces\Mybatis>mvn mybatis ...

  10. 创建Unity3D的MacOS Plugin的正确姿势

    http://www.tedlindstrom.se/how-to-link-dylibs-into-unity3d/ I was roaming around the net looking for ...

随机推荐

  1. Python 正则表达式之 sub 和 subn函数的使用

    re.sub() 函数的功能 re是reguler expressioin的缩写,表示正则表达式 sub 是 substitute 的缩写,表示替换: re.sub是个正则表达式方面的函数,用来实现通 ...

  2. Maven笔记一

    简介:什么是maven Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理. 如图为项目构建的过程. 解决的项目的问题: 1.  如果有好几个项目,这好几个项目中,需要 ...

  3. P1045麦森数

    P1045麦森数 #include<iostream> #include <cmath> #include <cstring> const int maxn = 1 ...

  4. 【原】Web Polygraph 安装

    1.下载 # wget http://www.web-polygraph.org/downloads/srcs/polygraph-4.3.2-src.tgz 2.解压 # tar zxvf poly ...

  5. 「CF438D The Child and Sequence」

    一道CF线段树好题. 前置芝士 线段树:一个很有用数据结构. 势能分析:用来证明复杂度,其实不会也没什么关系啦. 具体做法 不难发现,对于一个数膜一个大于它的数后,这个数至少减少一半,每个数最多只能被 ...

  6. Codeforces1303E. Erase Subsequences

    转换一下题意,就相当于问t能不能和s中2个不相同的子串相同,我们可以将t串拆成2个子串t1,t2,得到状态dp[i][j][k]=0/1,表示s判断到i位,t1判断到j位,t2判断到k位,0/1表示是 ...

  7. UGUI 特效怎样在UI上裁剪

    刚好碰到有人问怎样把粒子特效放到 UI 上并且能正确被 Mask 裁剪, 首先想到给粒子效果的 Shader 添加模板模仿一般 UI 的模板方式, 应该就能正确裁剪了吧, 不过没那么简单, 我们看到在 ...

  8. 应用内打开AppStore上某个应用的下载界面--SKStoreReviewController的使用

    产品设计要求是这样的: 对应的初步代码是这样的: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after ...

  9. idea配置使用

    1.下载时注意连带下载git 2.实时清除内存 打开 show memory indicator 3.插件安装  前端常用插件(vue,element,css,html,node,ts等)找到适合自己 ...

  10. tf-idf、朴素贝叶斯的短文本分类简述

    朴素贝叶斯分类器(Naïve Bayes classifier)是一种相当简单常见但是又相当有效的分类算法,在监督学习领域有着很重要的应用.朴素贝叶斯是建立在“全概率公式”的基础下的,由已知的尽可能多 ...