快速创建和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';
执行结果如图:
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方法。整个类就很简洁了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。