idea-plugin-easycode
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的更多相关文章
- IDEA+EasyCode实现代码生成
IDEA+EasyCode实现代码生成 Easy Code介绍 EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml).只要是与数据 ...
- Java代码工具EasyCode使用
写Java代码,增删改查,最无趣而又最基础.那机器人就来了,帮你写,减少你的基础的无趣的工作. 推荐两个代写代码的神奇工具Mybatis-generator与EasyCode.这两款软件的数据库持久层 ...
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- [转]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 ...
- MySQL: Table 'mysql.plugin' doesn't exist的解决
安装解压版MySQL以后,不能启动,日志里面出现了这个错误: MySQL: Table 'mysql.plugin' doesn't exist 这是因为mysql服务启动时候找不到内置数据库&quo ...
- JQuery plugin ---- simplePagination.js API
CSS Themes "light-theme" "dark-theme" "compact-theme" How To Use Step ...
- 学习Maven之Maven Clean Plugin
1.maven-clean-plugin是个什么鬼? maven-clean-plugin这个插件用maven的人都不陌生.我们在执行命令mvn clean时调用的就是这个插件. 这个插件的主要作用就 ...
- 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 ...
- 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 ...
- 创建Unity3D的MacOS Plugin的正确姿势
http://www.tedlindstrom.se/how-to-link-dylibs-into-unity3d/ I was roaming around the net looking for ...
随机推荐
- Unity3D~纹理格式
因为之前自己从来没有好好看过这部分,一直都是用的DXT压缩图片,结果发现原来ios是不支持DXT的, 还不知道我项目那么卡是不是这部分引起的, 但愿是~这样应该就可以解决游戏在ios上只有6.8帧的问 ...
- 3 JavaScript正则表达式
正则表达式:Regular(有规则的) Expression 正则表达式是由一个字符序列形成的搜索模式,可用于文本搜索和文本替换 常见于字符串的search和replace方法 var str = & ...
- Netcat - 网络工具中的瑞士军刀
nc的一些小应用,慢更新.... 1.一个简单的聊天工具,Client1和Client2之间,Client1安装了nc,监听8888端口,Client2用telnet Client1的8888端口即可 ...
- Python数据类型-1 数据类型介绍
数据类型 在python这门语言中,数据类型分为两种. 内置的和自定义的. 内置的包括数字.字符串.布尔.列表.元组.字典.Bytes.集合这些常用的以及一些不太常用的数据类型.而自定义的,一般以类的 ...
- 关于hrf图的做法
要拿matlab 的spm 包功能做 Model specification ,review and estimation specify1st level 第二张图是在建模以后,通过spm中的res ...
- Java最新面试题
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- 144、Java链表之定义一个Node类并输出
01.代码如下: package TIANPAN; class Node { // 每一个链表实际上就是由多个节点组成的 private String data; // 要保存的数据 private ...
- 页面自动执行js的3种方法
1.最简单的调用方式,直接写到html的body标签里面: <html> <body onload="load();"> </body> & ...
- openstack的一台Nova主机上的虚拟机网络的配置
1.一台虚拟机器的网络配置,通过openstack/nova计算节点服务生成的虚拟机配置文件 <interface type='bridge'> <mac address='fa:1 ...
- java学习-初级入门-面向对象①-面向对象概述-结构化程序设计
为了学习面向对象程序设计,今天我们先利用面向对象以前的知识,设计一个学生类. 要求进行结构化程序设计. 学生类: Student 要求:存储学生的基本信息(姓名.性别.学历层次和年级),实现学生信息的 ...