mybatis string转int
时间: 2023-10-24 09:11:40 浏览: 106
在 MyBatis 中,可以使用类型处理器(TypeHandler)来将数据库中的数据类型转换为 Java 类型。如果你需要将数据库中的字符串类型转换为整数类型,可以自定义一个字符串到整数类型的类型处理器,示例代码如下:
```java
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class StringToIntTypeHandler extends BaseTypeHandler<Integer> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i, Integer parameter, JdbcType jdbcType) throws SQLException {
ps.setInt(i, parameter);
}
@Override
public Integer getNullableResult(ResultSet rs, String columnName) throws SQLException {
String value = rs.getString(columnName);
return value != null ? Integer.parseInt(value) : null;
}
@Override
public Integer getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
String value = rs.getString(columnIndex);
return value != null ? Integer.parseInt(value) : null;
}
@Override
public Integer getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
String value = cs.getString(columnIndex);
return value != null ? Integer.parseInt(value) : null;
}
}
```
然后在 MyBatis 的配置文件中进行配置,示例代码如下:
```xml
<typeHandlers>
<typeHandler handler="com.example.StringToIntTypeHandler" jdbcType="VARCHAR"/>
</typeHandlers>
```
这样就可以在 MyBatis 中使用该类型处理器将数据库中的字符串类型转换为整数类型了。
阅读全文