快速创建和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对这个每一行是一个列名的文件进行处理。命令如下:

[[email protected] tmp]# sed -i "s/^/private String /g" web.txt
[[email protected] tmp]# sed -i "s/$/; /g" web.txt

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

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

[[email protected] 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方法。整个类就很简洁了。

时间: 2024-10-10 08:18:55

快速创建和mysql表对应的java domain实体类的相关文章

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

-----------------------siwuxie095 KO ------- 表中字段名和实体类属性名不一致 如果数据库表中的字段名和实体类的属性名不一致,那么在查询时, 相应字段的结果就会为空 (一)问题复现 1.先创建数据库 mybatis_db, 再创建表 t_user,并插入若干数据 注意:user_id 为主键,且为自动增长 2.创建实体类 User.java: package com.siwuxie095.entity; // 实体类 public class User

将JSON数据转换成Java的实体类

思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 public class SearchFilter { 2 private String groupOp; 3 4 private List<SearchRule> rules; 5 6 public String getGroupOp() { 7 return groupOp; 8 } 9 10 pub

java 根据实体类创建映射文件

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.Field; import java.util.List; import java.util.Set; import com.mohe.model.entity.Teach; /** * 根据实体类生成映射文件 * * @author dxm * */ public class Obj

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

一.认识INFORMATION_SCHEMA数据库 INFORMATION_SCHEMA数据库提供了访问数据库元数据(数据的数据)的方式 该数据库中存放有数据库名.表名,列名.列的数据类型等各种数据 生成实体类就要从该数据库下手 二.显示所有的数据库 生成实体类,往往要先选择数据库,这个非常简单,只需要简单的一句sql即可获得所有的数据库 show databases; 三.利用TABLES表获取数据库中的表 下一步,要显示所选数据库的所有的表,这里就用到了前面所提的INFORMATION_SC

Java常用实体类--System类

字符串.日期.数字是Java程序中最常使用的数据对象,对这些数据的创建.修改.格式化和转换等操作融入在Java程序的每个角落,必须熟练掌握.本节将通过实例演示以下常用实体类 Java系统级类:系统类System.运行时类Runtime Java字符串处理类:字符串类String.字符串分隔符类StringTokenizer.线程安全的可变字符串类StringBuffer.可变字符串类StringBuilder Java日期处理类:日期类Date.日期格式化类DateFormate.日历类Cale

java pojo实体类做birt报表数据源

环境要求:到http://www.eclipse.org/downloads/下载 Eclipse IDE for Java and Report Developers 工具 第一步:创建一java项目ReportJava:第二步:创建包yss.com并编写一实体类User 作为报表中的数据对象 package com.yss; public class User {     private String name;     private String phone;     private S

Java List实体类去重

版权声明:本文为博主原创文章,未经博主允许不得转载. List特点:元素有放入顺序,元素可重复 Map特点:元素按键值对存储,无放入顺序 Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) 新建一个实体类 [java] view plain copy public class User { private String id; private String name; private String 

mysql 表映射为java bean 手动生成。

---恢复内容开始--- 在日常工作中,一般是先建表.后建类.当然也有先UML构建类与类的层级关系,直接生成表.(建模)这里只针对先有表后有类的情况.不采用代码生成器的情况. 例如: 原表结构: 假如这是我业务变动,添加的一个表,同时我也要建对应的java类时.一般我们是手动去复制.容易出错.而且也是体力活.这里面可以用SQL直接生成. -- 创建存储 通过系统表解析出表的结构.然后把表结构拼接成java类. CREATE PROCEDURE mypro(in tablename varchar

Java常用实体类--Runtime类

System许多函数的使用都是等价于Runtime.getRuntime(),可见System和Runtime之间的联系是多么密切,实际上System是依赖于Runtime类的. Runtime的功能如下: 查看系统内存 终止JVM虚拟机 运行系统程序 使用关闭钩子 Runtime类不同于System类,它的函数大部分都不是静态的,只有一个静态函数getRuntime().每个Java应用程序都有一个Runtime实例,使应用程序能够与其运行环境相连接,我们可通过该函数获得一个Runtime()