我找不到我忘记在 Spring 的映射器中使用逗号的地方

I can't find where i forgot to use comma in mapper of Spring

我试图解决根本原因,但找不到问题出在哪里。

控制台说我忘记了逗号,但我不太清楚这是哪里

### SQL: INSERT INTO TEST_MEMBER1 (     MEMBER_ID     , MEMBER_PASSWORD     , MEMBER_NAME     , MEMBER_AGE     , MEMBER_ADDR    , TO_CHAR(MEMBER_BIRTHDATE, 'YYYY-MM-DD') AS BIRTHDAY_DATE    )     VALUES(     ?     , ?     , ?     , ?     , ?     ,?    )
### Cause: java.sql.SQLSyntaxErrorException: ORA-00917: 누락된 콤마

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00917: 누락된 콤마
]을(를) 발생시켰습니다.
Error : 917, Position : 128, Sql = INSERT INTO TEST_MEMBER1 (
            MEMBER_ID
            , MEMBER_PASSWORD
            , MEMBER_NAME
            , MEMBER_AGE
            , MEMBER_ADDR
            , TO_CHAR(MEMBER_BIRTHDATE, 'YYYY-MM-DD') AS BIRTHDAY_DATE
        ) 
        VALUES(
            :1 
            , :2 
            , :3 
            , :4 
            , :5 
            ,:6 
        ), OriginalSql = INSERT INTO TEST_MEMBER1 (
            MEMBER_ID
            , MEMBER_PASSWORD
            , MEMBER_NAME
            , MEMBER_AGE
            , MEMBER_ADDR
            , TO_CHAR(MEMBER_BIRTHDATE, 'YYYY-MM-DD') AS BIRTHDAY_DATE
        ) 
        VALUES(
            ?
            , ?
            , ?
            , ?
            , ?
            ,?
        ), Error Msg = ORA-00917: 누락된 콤마

您当前在列列表中有一个 to_char() 函数调用;它应该在 values 子句中:

INSERT INTO TEST_MEMBER1 (
            MEMBER_ID
            , MEMBER_PASSWORD
            , MEMBER_NAME
            , MEMBER_AGE
            , MEMBER_ADDR
            , MEMBER_BIRTHDATE
        ) 
        VALUES(
            ?
            , ?
            , ?
            , ?
            , ?
            , TO_CHAR(?, 'YYYY-MM-DD')
        )

但是这种转换意味着您的 MEMBER_BIRTHDATE 是一个字符串 (VARCHAR2) 列。您应该将数据存储在具有正确数据类型的列中,因此实际上应该是 DATE 列,然后当您绑定日期值时,它不需要转换。