高速创建和mysql表相应的java domain实体类
今天创建了一个表有十几个字段,创建完之后必定要写一个与之相应的java domain实体类。
这不是反复的工作吗?为什么不先把这个表的全部的字段查出来,然后放到linux环境下,用sed工具在每一行的前面加上“private String ”,每一行的后面加入“;”。这样能够节省非常多反复工作。以下上sql代码和sed命令。
查询一个mysql表全部列的列名的sql代码例如以下:
SELECT COLUMN_NAME
FROM information_schema.COLUMNS
WHERE table_name = 'table_name';
运行结果如图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnJ1Y2UxMjg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
OK,拿到全部的列名之后,上Linux环境创建一个新的文件,把这个列名复制进去。
保存退出。
在Linux上用sed对这个每一行是一个列名的文件进行处理。命令例如以下:
[root@node3 tmp]# sed -i "s/^/private String /g" web.txt
[root@node3 tmp]# sed -i "s/$/; /g" web.txt
第一条命令的意思是在每一行的开头加入“private String ”, “^”这个符号在正則表達式里表示开头的意思。
第二条命令会在每一行的末尾加入“;”,“$”dollar美元符号在正則表達式里表示行尾的意思。
再cat一下这个文件,输出例如以下:
[root@node3 tmp]# cat web.txt
private String id;
private String name;
private String seq;
private String redirect_url;
private String isAll;
private String percentage;
private String user_pin_list;
private String user_level_list;
private String pid_list;
private String path_list;
private String param_list;
private String created;
private String creater;
private String modified;
private String modifier;
好,OK。把这些代码贴进你的IDE里去。由于String类型的变量居多。所以统一加上“String”。以下的工作就是字段类型不正确的就改类型。
这个流程能够少敲非常多代码。并且在使用Ibatis这个ORM的情况下,类的属性名和数据库表的字段名假设是一样的话。那么你不用写不论什么ResultMap。
最后在类名上加上“@Data”注解(lombok的注解),这样就为全部的字段生成Getter, Setter方法。整个类就非常简洁了。
高速创建和mysql表相应的java domain实体类的更多相关文章
- KO ------- 表中字段名和实体类属性名不一致
-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就 ...
- 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)
一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...
- 数据库的表的字段名称与实体类(pojo)不对应解决方案
数据库的表的字段名称与实体类(pojo)不对应解决方案 数据库表  Java实体类: SearchFilter 类 1 publ ...
- java生成实体类的工具内部是如何实现的(mysql)
一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 ...
- Java代码实体类生成SQL语句(Java实体类转数据库)
有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可. 下载:ht ...
- java 获取实体类对象属性值的方法
在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...
- 【转】java遍历实体类的属性和数据类型以及属性值
和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...
- java遍历实体类的属性和数据类型以及属性值
遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...
随机推荐
- mq类----1
MQ.php <?php /** * Created by PhpStorm. * User: brady * Date: 2017/12/6 * Time: 14:42 * * amqp协议操 ...
- Bootstrap-table custome-ajax用法
<div id="toolbar"> <div class="form-inline" role="form"> & ...
- POJ——3070Fibonacci(矩阵快速幂)
Fibonacci Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12329 Accepted: 8748 Descri ...
- [CODEVS1917] 深海机器人问题(最小费用最大流)
传送门 [问题分析] 最大费用最大流问题. [建模方法] 把网格中每个位置抽象成网络中一个节点,建立附加源S汇T. 1.对于每个顶点i,j为i东边或南边相邻的一个节点,连接节点i与节点j一条容量为1, ...
- input和textarea区别
1. input是单行文本,textarea是多行文本,可以带滚动条2. input的value放在标签里面 <input type="text" value="b ...
- bzoj 3143 [Hnoi2013]游走 期望dp+高斯消元
[Hnoi2013]游走 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3394 Solved: 1493[Submit][Status][Disc ...
- [bzoj2302][HNOI2011]problem c 递推,dp
[HAOI2011]Problem c Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 949 Solved: 519[Submit][Status] ...
- bzoj 4009 接水果 整体二分
Description 先给出一些盘子, 用路径x-y表示, 有权值 再有Q个询问, 表示水果, 用路径x-y表示 如果盘子是水果的子路径, 可以接住 对于每个水果, 输出可以接住它的盘子的第k小权 ...
- 关于PHP xss 和 SQL 注入的问题
漏洞无非这么几类,XSS.sql注入.命令执行.上传漏洞.本地包含.远程包含.权限绕过.信息泄露.cookie伪造.CSRF(跨站请求)等.这些漏洞不仅仅是针对PHP语言的,PHP如何有效防止这些漏洞 ...
- 2-sat 问题 【例题 Flags(2-sat+线段树优化建图)】
序: 模拟赛考了一道 2-sat 问题.之前从来没听过…… 考完才发现其实这个东东只要一个小小的 tarjan 求强连通分量就搞定了. 这个方法真是巧妙啊,拿来讲讲. What is it? [・_・ ...