SpringBootCodeGenerator icon indicating copy to clipboard operation
SpringBootCodeGenerator copied to clipboard

如果发现有SQL语句不能识别,请留言给我分析

Open moshowgame opened this issue 6 years ago • 13 comments

copy sql语句

moshowgame avatar Sep 17 '18 11:09 moshowgame

CREATE TABLE t_auth_user ( user_id varchar(50) COLLATE utf8_bin NOT NULL COMMENT '用户id,UUID', login_id varchar(100) COLLATE utf8_bin NOT NULL COMMENT '登录名', user_name varchar(50) COLLATE utf8_bin NOT NULL COMMENT '用户名', email varchar(128) COLLATE utf8_bin NOT NULL COMMENT '邮箱', mobilenum varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '手机', pwd varchar(100) COLLATE utf8_bin NOT NULL COMMENT '密码', is_first int(11) NOT NULL DEFAULT '1' COMMENT '是否第一次登录:0,否;1,是', is_admin varchar(1) COLLATE utf8_bin DEFAULT '0' COMMENT '是否具有管理员权限:0,无;1,有', delete_mark varchar(1) COLLATE utf8_bin DEFAULT '0' COMMENT '删除标记:0,未删除;1,已删除', create_time datetime NOT NULL COMMENT '创建时间', create_user varchar(50) COLLATE utf8_bin NOT NULL COMMENT '创建人', update_time datetime DEFAULT NULL COMMENT '更新时间', update_user varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '更新人', PRIMARY KEY (user_id), UNIQUE KEY idx_user_login_id (login_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='用户表';

raodeming avatar Sep 27 '18 09:09 raodeming

CREATE TABLE t_auth_user ( user_id varchar(50) COLLATE utf8_bin NOT NULL COMMENT '用户id,UUID', login_id varchar(100) COLLATE utf8_bin NOT NULL COMMENT '登录名', user_name varchar(50) COLLATE utf8_bin NOT NULL COMMENT '用户名', email varchar(128) COLLATE utf8_bin NOT NULL COMMENT '邮箱', mobilenum varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '手机', pwd varchar(100) COLLATE utf8_bin NOT NULL COMMENT '密码', is_first int(11) NOT NULL DEFAULT '1' COMMENT '是否第一次登录:0,否;1,是', is_admin varchar(1) COLLATE utf8_bin DEFAULT '0' COMMENT '是否具有管理员权限:0,无;1,有', delete_mark varchar(1) COLLATE utf8_bin DEFAULT '0' COMMENT '删除标记:0,未删除;1,已删除', create_time datetime NOT NULL COMMENT '创建时间', create_user varchar(50) COLLATE utf8_bin NOT NULL COMMENT '创建人', update_time datetime DEFAULT NULL COMMENT '更新时间', update_user varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '更新人', PRIMARY KEY (user_id), UNIQUE KEY idx_user_login_id (login_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='用户表';

好的,感谢反馈,已经优化了comment的提取逻辑,今晚提交的版本已经支持处理些sql。

moshowgame avatar Sep 27 '18 13:09 moshowgame

CREATE TABLE USER ( ID varchar(32) PRIMARY KEY COMMENT '主键', password varchar(32) NOT NULL COMMENT '密码', username varchar(32) NOT NULL COMMENT '用户' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

点击entity无法生成相关代码

yeshen5431 avatar Oct 10 '18 08:10 yeshen5431

CREATE TABLE tb_amount ( ID int(10) NOT NULL AUTO_INCREMENT, PRODUCT_CODE varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品代码', GENDER varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别(male,female)', MIN_INSURED_AGE int(3) NULL DEFAULT NULL COMMENT '最小投保年龄', MAX_INSURED_AGE int(3) NULL DEFAULT NULL COMMENT '最大投保年龄', AMOUNT double(10, 2) NULL DEFAULT NULL COMMENT '基本保额', PREMIUM_RATE double(10, 2) NULL DEFAULT NULL COMMENT '基本保费', YEAR_NUM int(3) NULL DEFAULT NULL COMMENT '缴费年限', PREMIUM_TYPE varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '费率类型', INSURANCE_PERIOD varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '保险期间(30年,60年)', INSURANCE_PERIOD_TYPE varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '保险期间类型(如定期年0,定期岁1,终身2,以后终身对应值:200)', PAY_MODE varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '交费方式', PRIMARY KEY (ID) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

tanwubo avatar Oct 11 '18 02:10 tanwubo

CREATE TABLE USER ( ID varchar(32) PRIMARY KEY COMMENT '主键', password varchar(32) NOT NULL COMMENT '密码', username varchar(32) NOT NULL COMMENT '用户' ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

点击entity无法生成相关代码

你好,应该是之前bejson的js更新有问题。现在这段代码可以正常生成。

`@Entity @Data @Table(name="user") public class User implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue /** * 主键 */ private String id;

/**
* 密码
*/
private String password;

/**
* 用户
*/
private String username;

}`

moshowgame avatar Oct 15 '18 02:10 moshowgame

CREATE TABLE prediction_detail ( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', prediction_id int(11) NOT NULL COMMENT '主表id', user_id int(11) NOT NULL COMMENT '用户id', object_id varchar(24) NOT NULL DEFAULT '', rule_category int(2) NOT NULL COMMENT '分类', rule_value int(2) NOT NULL COMMENT '值', amount decimal(16,4) NOT NULL COMMENT '金额', handing_fee decimal(16,4) NOT NULL COMMENT '手续费', create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY single_pay (prediction_id,user_id), UNIQUE KEY single_pay1 (prediction_id,rule_category,rule_value), KEY prediction_id (prediction_id) ) ENGINE=InnoDB AUTO_INCREMENT=35752 DEFAULT CHARSET=utf8mb4;

refeccd avatar Dec 03 '18 14:12 refeccd

CREATE TABLE prediction_detail ( id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', prediction_id int(11) NOT NULL COMMENT '主表id', user_id int(11) NOT NULL COMMENT '用户id', object_id varchar(24) NOT NULL DEFAULT '', rule_category int(2) NOT NULL COMMENT '分类', rule_value int(2) NOT NULL COMMENT '值', amount decimal(16,4) NOT NULL COMMENT '金额', handing_fee decimal(16,4) NOT NULL COMMENT '手续费', create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY single_pay (prediction_id,user_id), UNIQUE KEY single_pay1 (prediction_id,rule_category,rule_value), KEY prediction_id (prediction_id) ) ENGINE=InnoDB AUTO_INCREMENT=35752 DEFAULT CHARSET=utf8mb4;

你好,20181122版已经可以运行和解析该语句,你可以自己下载一个运行一下,bejson的更新比较慢。

moshowgame avatar Dec 11 '18 06:12 moshowgame

在insert语句中,可不可以对每一列用if test 来判断是否为空,相当于还是要一列一列手工去加

baidule avatar Apr 11 '19 15:04 baidule

sql 转通用lombok entity ,tinyint转换类型选择Integer无法生成integer CREATE TABLE g_attribute_value ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', attribute_name_id bigint(20) NOT NULL COMMENT '属性名外键id', value varchar(255) NOT NULL COMMENT '属性值', is_deleted tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除0-未删除,1-已删除', create_userid bigint(20) DEFAULT NULL COMMENT '创建人ID', create_username varchar(100) DEFAULT '' COMMENT '创建人姓名', create_userip varchar(60) DEFAULT '' COMMENT '创建人IP', create_time datetime DEFAULT NULL COMMENT '创建时间', update_userid bigint(20) DEFAULT NULL COMMENT '修改人ID', update_username varchar(100) DEFAULT '' COMMENT '修改人姓名', update_userip varchar(60) DEFAULT '' COMMENT '修改人IP', update_time datetime DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='属性值表';

feibazhf avatar Nov 18 '19 06:11 feibazhf

代码生成失败 :String index out of range: -1

CREATE TABLE consumer_industry_admin_rltn ( id bigint(20) NOT NULL AUTO_INCREMENT, industry_id bigint(20) DEFAULT NULL COMMENT '行业id', admin_id bigint(20) DEFAULT NULL COMMENT '管理员id', create_time timestamp NULL DEFAULT NULL, create_id bigint(20) DEFAULT NULL, update_time timestamp NULL DEFAULT NULL, update_id bigint(20) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

xqnode avatar Dec 03 '19 09:12 xqnode

CREATE TABLE `report_received_shipment` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'pk',
  `sku_id` varchar(20) NOT NULL DEFAULT '' COMMENT 'skuId',
  `unique_code` varchar(20) NOT NULL DEFAULT '' COMMENT '唯一码/商品编码',
  `article_number` varchar(100) NOT NULL DEFAULT '' COMMENT '货号',
  `entry_order_code` varchar(64) NOT NULL DEFAULT '' COMMENT '收货单号',
  `report_modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=4047 DEFAULT CHARSET=utf8mb4 COMMENT='收发货报表'

不知道是不是unique属于特殊关键字,unique_xxx不能被正确识别。

lehuo avatar Jul 26 '20 10:07 lehuo

create table t ( _amount numeric(18,2) );

生成的是String,需要BigDecimal

yanye666 avatar Feb 22 '23 08:02 yanye666

CREATE TABLE IF NOT EXISTS "public"."t_device" ( "cid" SERIAL primary key , "mapping_id" varchar(64) COLLATE "pg_catalog"."default", "name" varchar(64) COLLATE "pg_catalog"."default", "source" int4 ) 这个是Postgres数据库中的序列主键 SERIAL 在生成的时候没办法识别 这个SERIAL 的衍生语法有 SERIAL4 SERIAL8

xuweichao010 avatar Mar 27 '23 08:03 xuweichao010