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. IDEA中使用GsonFormat

    版本:IDEA Community 2019.2.2 说明:GsonFormat是一个可以直接将Json对象转化为Java类的插件 流程:安装GsonFormat插件=>新建一个空类Book=& ...

  2. java模式之单例

    懒汉式:需要实例的时候new public class Singleton_Lazy { private static Singleton_Lazy mSingleton; private Singl ...

  3. python绘制疫情图

    python中进行图表绘制的库主要有两个:matplotlib 和 pyecharts, 相比较而言: matplotlib中提供了BaseMap可以用于地图的绘制,但是个人觉得其绘制的地图不太美观, ...

  4. 「TJOI2013」最长上升子序列

    「TJOI2013」最长上升子序列 传送门 这个 \(\text{DP}\) 应该都会撒: \[dp_i = \max_{j < i,a_j < a_i}\left\{dp_j\right ...

  5. CSS - 定位(position),难点

    元素的定位属性主要包括定位模式和边偏移两部分. 1. 边偏移 边偏移属性 描述 top 顶端偏移量,定义元素相对于其父元素上边线的距离 bottom 底部偏移量,定义元素相对于其父元素下边线的距离 l ...

  6. 获取进程对应的UID登陆用户

    getlogin获取登陆用户,守护进程调用出错 一个用户UID可以对应多个登陆名吗?貌似可以

  7. 三 基于Java动态数组手写队列

    手写队列: package dataStucture2.stackandqueue; import com.lt.datastructure.MaxHeap.Queue; import dataStu ...

  8. 四 SpringMVC与页面之间的参数传递&高级参数的绑定&日期类型的转换

    参数传递: 1 原生方式:使用Servlet  API  , request.getParameter("id"); 2 直接将请求参数作为Controller中的形参: publ ...

  9. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:在元素获取焦点时显示(如:键盘操作的用户)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密

    1.对于12.04的vsftpd 有一些bug,推荐安装版本vsftpd_2.3.5-1ubuntu2ppa1_amd64.debapt-get install python-software-pro ...