mybatis涓璴ist杞瑂tring鎬庝箞瀹炵幇
鍦∕yBatis涓紝灏哃ist杞崲涓篠tring鍙互浣跨敤浠ヤ笅鏂规硶锛?/p>
- 浣跨敤OGNL琛ㄨ揪寮忥細鍙互浣跨敤OGNL琛ㄨ揪寮忓皢List涓殑鍏冪礌杩炴帴涓轰竴涓瓧绗︿覆銆備緥濡傦細
<foreach collection="list" item="item" separator=",">
${item}
</foreach>
杩欓噷鐨?code>list鏄竴涓狶ist绫诲瀷鐨勫弬鏁帮紝item
鏄疞ist涓殑鍏冪礌锛?code>separator鏄繛鎺ュ厓绱犵殑鍒嗛殧绗︺€?/p>
- 浣跨敤鑷畾涔塗ypeHandler锛氬彲浠ヨ嚜瀹氫箟涓€涓猅ypeHandler鏉ュ鐞哃ist绫诲瀷鐨勫弬鏁般€備緥濡傦細
public class ListTypeHandler implements TypeHandler<List<String>> {
@Override
public void setParameter(PreparedStatement ps, int i, List<String> parameter, JdbcType jdbcType) throws SQLException {
ps.setString(i, StringUtils.join(parameter, ","));
}
@Override
public List<String> getResult(ResultSet rs, String columnName) throws SQLException {
String value = rs.getString(columnName);
return Arrays.asList(value.split(","));
}
@Override
public List<String> getResult(ResultSet rs, int columnIndex) throws SQLException {
String value = rs.getString(columnIndex);
return Arrays.asList(value.split(","));
}
@Override
public List<String> getResult(CallableStatement cs, int columnIndex) throws SQLException {
String value = cs.getString(columnIndex);
return Arrays.asList(value.split(","));
}
}
鐒跺悗锛屽湪Mapper鎺ュ彛鐨勬柟娉曚腑浣跨敤@Param
娉ㄨВ鎸囧畾鍙傛暟鐨凾ypeHandler锛屼緥濡傦細
void updateList(@Param("list") List<String> list);
浣跨敤鏃讹紝浼氳嚜鍔ㄨ皟鐢═ypeHandler鐨?code>setParameter鏂规硶灏哃ist杞崲涓篠tring浣滀负SQL鐨勫弬鏁般€?/p>
杩欐牱灏卞彲浠ュ皢List杞崲涓篠tring鍦∕yBatis涓娇鐢ㄤ簡銆?/p>
相关问答