mybatis中也能执行ddl语句,需要写成update语句
如:
mapp.java文件当中
void createCoinTable(@Param("tableName") String tableName);
xml 文件当中
<update id="createCoinTable" >
CREATE TABLE ${tableName} (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '流水ID',
`user_id` bigint(20) unsigned DEFAULT NULL COMMENT '用户ID,参考T6010.F01',
`type` int(11) DEFAULT NULL COMMENT '币币流水类型:10-交易买入;11-交易卖出;12-交易手续费;20-充币;21-提币;22-提币手续费;30-平台充值;31-平台划扣;40-活动赠送;41-持仓分红;51-交易挖矿; 42-折扣抢购',
`amount` decimal(30,16) NOT NULL DEFAULT '0.0000000000000000' COMMENT '交易数量',
`fee` decimal(30,16) NOT NULL DEFAULT '0.0000000000000000' COMMENT '手续费',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '交易时间',
`ref_key` varchar(200) DEFAULT NULL COMMENT '流水备注',
`balance` decimal(30,8) NOT NULL DEFAULT '0.00000000' COMMENT '当前剩余数量(冻结+可用)',
`ref_id` bigint(20) unsigned DEFAULT NULL COMMENT '业务表关联ID(存在业务表则需录入相关信息ID)',
`sys_user_id` int(10) unsigned DEFAULT NULL COMMENT '操作人,参考sys_user.user_id',
PRIMARY KEY (`id`),
KEY `_journel_user_id` (`user_id`) USING BTREE,
KEY `_journel_type` (`type`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=84959 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户币币资产流水记录表,币名参考T6013';
</update>
有一个注意点:
xml当中tableName必须成${}
${} 与#{} 却别: #{}会解析成带“”的字符串 ,而${} 不会