在ibatis映射器查询中如何从字符串类型转换为整数?

时间:2019-06-18 11:46:35

标签: ibatis

预先感谢

我们从UI中将shift类型变量作为字符串传递。 在DTO中,shift也是一个字符串变量。 但是在db中,我们试图将user_shift_type作为整数插入。

在mysql中按预期方式工作。在Postgres中无法从字符串转换为整数

引发以下错误:

  

DisplayStackTrace = org.postgresql.util.PSQLException:错误:“ usr_shift_type”列的类型为整数,但表达式的类型为字符变化

尝试了以下类型,不起作用

#{shift,jdbcType=INTEGER},
javaType=integer,    jdbcType=INTEGER 

@Insert("INSERT INTO scmn_user_dtls (usr_code,usr_title,usr_first_name,usr_last_name,usr_short_name,usr_employee_code,usr_password,usr_comments,"
            + "usr_phone_number,usr_mobile_number,usr_email,usr_shift_type,delete_flag,created_by,created_date,"
            + "usr_category,password_change_date,no_of_failed_attempt,password_updated_by)" +
            "VALUES (#{usrCode},#{usrTitle},#{usrFirstName},#{usrLastName},#{usrShortName},#{usrEmployeeCode},"
            + "#{usrPassword},#{usrComments},#{usrPhoneNumber},#{usrMobileNumber},#{usrEmail},"
            + "#{shift,jdbcType=INTEGER},#{usrDeleteFlag},#{usrCreatedBy},#{usrCreatedDate},#{usrCategory},"+
            "#{usrPasswordChangeDate},#{noOfFailedAttempts},#{passwordUpdatedBy})")
    @Options(useGeneratedKeys = true, keyProperty="usrId", keyColumn="usr_id") 

private String shift;

shift是dto字符串变量,但应作为整数使用,并应存储在user_shift_type(int)中。

0 个答案:

没有答案