快速创建和mysql表对应的java domain实体类 .

今天创建了一个表有十几个字段,创建完之后必然要写一个与之对应的java domain实体类。这不是重复的工作吗?为什么不先把这个表的所有的字段查出来,然后放到linux环境下,用sed工具在每一行的前面加上“private String ”,每一行的后面添加“;”。这样可以节省很多重复工作。下面上sql代码和sed命令。

    查询一个mysql表所有列的列名的sql代码如下:

  1. SELECT COLUMN_NAME   
  2. FROM information_schema.COLUMNS  
  3. WHERE table_name = 'table_name';  
SELECT COLUMN_NAME 
FROM information_schema.COLUMNS
WHERE table_name = 'table_name';

    执行结果如图:


    OK,拿到所有的列名之后,上Linux环境创建一个新的文件,把这个列名复制进去。保存退出。

    在Linux上用sed对这个每一行是一个列名的文件进行处理。命令如下:

  1. [root@node3 tmp]# sed -i "s/^/private String /g" web.txt   
  2. [root@node3 tmp]# sed -i "s/$/; /g" web.txt  
[root@node3 tmp]# sed -i "s/^/private String /g" web.txt 
[root@node3 tmp]# sed -i "s/$/; /g" web.txt

    第一条命令的意思是在每一行的开头添加“private String ”, “^”这个符号在正则表达式里表示开头的意思。第二条命令会在每一行的末尾添加“;”,“$”dollar美元符号在正则表达式里表示行尾的意思。

    再cat一下这个文件,输出如下:

  1. [root@node3 tmp]# cat web.txt   
  2. private String id;   
  3. private String name;   
  4. private String seq;   
  5. private String redirect_url;   
  6. private String isAll;   
  7. private String percentage;   
  8. private String user_pin_list;   
  9. private String user_level_list;   
  10. private String pid_list;   
  11. private String path_list;   
  12. private String param_list;   
  13. private String created;   
  14. private String creater;   
  15. private String modified;   
  16. private String modifier;   
[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方法。整个类就很简洁了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值