mybatis 处理 mysql 表中的 text类型的 字段

时间:2023-03-08 17:06:58

在mysql 中 text类型的字段: service_detail text NULL 服务描述   。 对应java文件中 model 中的 String:  private String serviceDetail;

在 mybatis 中的xml 中定义的是 :

<resultMap id="ResultMapWithBLOBs" type="com.eachonline.goods.model.ServiceGoodsBase" extends="BaseResultMap" >
  <result column="service_detail" property="serviceDetail" jdbcType="LONGVARCHAR" />
</resultMap>

基本表的定义:

 <resultMap id="BaseResultMap" type="com.goods.model.ServiceGoodsBase" >
<id column="sid" property="sid" jdbcType="VARCHAR" />
<result column="service_name" property="serviceName" jdbcType="VARCHAR" />
<result column="service_district" property="serviceDistrict" jdbcType="VARCHAR" />
<result column="longitude" property="longitude" jdbcType="VARCHAR" />
<result column="latitude" property="latitude" jdbcType="VARCHAR" />
<result column="address" property="address" jdbcType="VARCHAR" />
<result column="service_fee" property="serviceFee" jdbcType="DOUBLE" />
<result column="service_price" property="servicePrice" jdbcType="DOUBLE" />
<result column="service_unit" property="serviceUnit" jdbcType="VARCHAR" />
<result column="user_service_type_id" property="userServiceTypeId" jdbcType="VARCHAR" />
<result column="service_type" property="serviceType" jdbcType="VARCHAR" />
<result column="release_time" property="releaseTime" jdbcType="VARCHAR" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> </resultMap>
 <sql id="Base_Column_List" >
sid, service_name, service_district, longitude, latitude, address, service_fee, service_price,
service_unit, user_service_type_id, service_type, release_time, create_time, is_use,
module, check_status, check_comment, click_num, discount, service_status, service_sale_num,
data_source, commodity_type
</sql>
<sql id="Blob_Column_List" >
service_detail
</sql>
  <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from service_goods_base
where sid = #{sid,jdbcType=VARCHAR}
</select>

对于修改的操作,有两个方法: updateByPrimaryKeySelective  , updateByPrimaryKeyWithBLOBs