今天创建了一个表有十几个字段,创建完之后必定要写一个与之相应的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实体类的更多相关文章

  1. KO ------- 表中字段名和实体类属性名不一致

    -----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就 ...

  2. 5.7 Liquibase:与具体数据库独立的追踪、管理和应用数据库Scheme变化的工具。-mybatis-generator将数据库表反向生成对应的实体类及基于mybatis的mapper接口和xml映射文件(类似代码生成器)

    一. liquibase 使用说明 功能概述:通过xml文件规范化维护数据库表结构及初始化数据. 1.配置不同环境下的数据库信息 (1)创建不同环境的数据库. (2)在resource/liquiba ...

  3. 数据库的表的字段名称与实体类(pojo)不对应解决方案

    数据库的表的字段名称与实体类(pojo)不对应解决方案 数据库表 ![image-20200429130200825](C:%5CUsers%5C%E6%9E%97%E6%AD%A3%E6%98%8E ...

  4. 将JSON数据转换成JAVA的实体类

    思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 publ ...

  5. java生成实体类的工具内部是如何实现的(mysql)

    一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 ...

  6. Java代码实体类生成SQL语句(Java实体类转数据库)

    有的时候把数据库删了,如果照着实体类重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体类转换为SQL语句输出为一个文件,打开执行命令即可. 下载:ht ...

  7. java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  8. 【转】java遍历实体类的属性和数据类型以及属性值

    和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...

  9. java遍历实体类的属性和数据类型以及属性值

    遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...

随机推荐

  1. LiveScript 函数

    The LiveScript Book     The LiveScript Book 函数 定义函数是非常轻量级的. 1.(x, y) -> x + y2.3.-> # an empty ...

  2. android 解压缩mac zip压缩文件

    之前被android unzip坑了一次,在此记录 使用java zip解压zip文件出现 java.util.zip.ZipException: unknown format 错误,zip文件在系统 ...

  3. Android Webview 与JS交互

    Android中 WebView控件支持JS与本地代码的交互. // 是否允许在webview中执行javascript webSettings.setJavaScriptEnabled(true); ...

  4. iOS学习笔记41-Swift(一)基础部分

    一.Swift语言介绍 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题. Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种 ...

  5. SparkStreaming 编程指南

    摘要:学习SparkStreaming从官网的编程指南开始,由于Python编码修改方便不用打包,这里只整理python代码! 一.概述 Spark Streaming 是 Spark Core AP ...

  6. HDU——1395 2^x mod n = 1(取模运算法则)

    2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. HDU——1715大菲波数(大数加法)

    大菲波数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. d3 使用数据

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

  9. 按 Tab 在多个 InputField 间切换

    下面这个链接里的有些unity的东西还没搞懂..改天继续看 http://forum.unity3d.com/threads/tab-between-input-fields.263779/ if(I ...

  10. WKWebView与js交互中产生的内存泄漏

    最近开发中突然发现富文本帖子详情内存没有释放掉,找了好久问题都没找到,终于今天发现了问题,先上一点代码片段 WKWebViewConfiguration *configuration = [[WKWe ...