@Insert("INSERT INTO ider_dict_Stock_info_tmp(dict_stock_code, dict_data_code,remark) " + "VALUES(#{dictStockCode}, #{dictDataCode},#{remark})") int addTemporary(String dictStockCode, String dictDataCode, String remark);哪个地方错了
时间: 2023-12-10 22:41:47 浏览: 18
这段代码看起来是使用 MyBatis 进行数据库访问,但是缺少注解的声明。你需要在类上添加 `@Mapper` 注解,以便 MyBatis 能够扫描到该类并自动生成该类的实现。此外,你还需要在方法上添加 `@Param` 注解,以便指定参数名称,例如:
```java
@Mapper
public interface MyMapper {
@Insert("INSERT INTO ider_dict_Stock_info_tmp(dict_stock_code, dict_data_code, remark) " +
"VALUES(#{dictStockCode}, #{dictDataCode}, #{remark})")
int addTemporary(@Param("dictStockCode") String dictStockCode, @Param("dictDataCode") String dictDataCode, @Param("remark") String remark);
}
```
其中,`@Param` 注解中的参数名需要与 SQL 语句中的占位符名称一致。如果 SQL 语句中只有一个参数,则可以省略该注解。
相关问题
@Update("CREATE TEMPORARY TABLE ider_dict_Stock_info_tmp(" + "id INT NOT NULL AUTO_INCREMEN COMMENT \"主键\" "+ "," + "dict_stock_code varchar(100) COMMENT \"库存字段\" "+ "," + "dict_data_code varchar(100) COMMENT \"字典字段\" "+ "," + "remark varchar(500) COMMENT \"备注\"" + ") ") void createTempTable();这段代码哪错了
这段代码语法上没有错误,但是有一些不规范的地方,可以改进:
1. `AUTO_INCREMEN` 应该为 `AUTO_INCREMENT`。
2. 在 SQL 语句中,字符串常量应该用单引号括起来,例如 `'主键'`。
3. 拼接字符串时应该使用 `+` 而不是 `,`,或者使用 Java 中的字符串模板。
修改后的代码如下:
```
@Update("CREATE TEMPORARY TABLE ider_dict_Stock_info_tmp (" +
"id INT NOT NULL AUTO_INCREMENT COMMENT '主键', " +
"dict_stock_code VARCHAR(100) COMMENT '库存字段', " +
"dict_data_code VARCHAR(100) COMMENT '字典字段', " +
"remark VARCHAR(500) COMMENT '备注'" +
") ")
void createTempTable();
```
INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (510, 3, '证券公司经纪业务子公司', 'BCX03', 'BCX', '', '', 'N', '1', 'admin', '2022-09-20 15:30:03', '', NULL, ''); INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, update_by, update_time, remark) VALUES (520, 5, '金融资产管理公司', 'BFX05', 'BFX', '', '', 'N', '1', 'admin', '2022-09-20 15:30:03', '', NULL, ''); 将这两条INSERT语句修改为UPDATE语句来更新数据库中的数据 只修改dict_label字段 条件是dict_code为510 520
要将这两条INSERT语句修改为UPDATE语句来更新数据库中的数据,并且只修改`dict_label`字段,条件是`dict_code`为510和520,可以使用以下UPDATE语句:
```sql
UPDATE sys_dict_data SET dict_label = '新的证券公司经纪业务子公司' WHERE dict_code = 510;
UPDATE sys_dict_data SET dict_label = '新的金融资产管理公司' WHERE dict_code = 520;
```
请记得根据实际需要修改更新的字段值。