业务需求存大文本字段,不能使用NVARCHAR2 默认2000字符,使用CLOB字段,表结构
CREATE TABLE "wait_authorization" (
"id" NVARCHAR2(255) NOT NULL ,
"content" CLOB NULL ,
constraint WAIT_AUTH_PK primary key("id")
)
LOGGING
NOCOMPRESS
NOCACHE;
COMMENT ON COLUMN "wait_authorization"."id" IS '主键ID';
COMMENT ON COLUMN "wait_authorization"."content" IS '内容';
java实体
clob类型用String类型
package com.cloud.entity.sub; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor @ToString public class WaitAuthorization { private String id; // 内容(JSON字符串) private String content; }
测试 写了一个新增和查询
package com.cloud.resource.controller; import com.cloud.entity.sub.WaitAuthorization; import com.cloud.framework.bean.Result; import com.cloud.framework.util.ResponseUtils; import com.cloud.framework.util.UUIDGenerator; import com.cloud.resource.repository.ResourcesApprovalMapper; import com.cloud.security.i18nbase.BaseResource; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @CrossOrigin(origins = "*", allowCredentials = "true", maxAge = 3600) @RestController @RequestMapping("/test") @Api("项目管理") public class TestController extends BaseResource { @Autowired private ResourcesApprovalMapper resourcesApprovalMapper; @PostMapping("/add") @ApiOperation(value = "新建项目") public Result<Object> add(@RequestBody WaitAuthorization waitAuthorization) { waitAuthorization.setId(UUIDGenerator.getUUID()); resourcesApprovalMapper.saveWaitAuthorization(waitAuthorization); return ResponseUtils.make(Result.OK, sysToLocale("PUBLIC_OPERATION_SUCCESSFUL")); } @GetMapping("/getById") @ApiOperation(value = "新建项目") public Result<Object> add(@RequestParam("id") String id) { WaitAuthorization waitAuthorizationById = resourcesApprovalMapper.getWaitAuthorizationById(id); return ResponseUtils.make(Result.OK, sysToLocale("PUBLIC_OPERATION_SUCCESSFUL"),waitAuthorizationById); } }
mapper
int saveWaitAuthorization(WaitAuthorization waitAuthorization);WaitAuthorization getWaitAuthorizationById(String id);
mapper.xml
<insert id="saveWaitAuthorization" parameterType="WaitAuthorization" databaseId="oracle"> INSERT INTO "wait_authorization" ("id", "content") VALUES ( #{id,jdbcType=VARCHAR}, #{content,jdbcType=CLOB} ) </insert>
<select id="getWaitAuthorizationById" parameterType="string" resultType="WaitAuthorization" databaseId="oracle"> SELECT * FROM "wait_authorization" WHERE "id" = #{id} </select>
测试 保存 大约8千字
测试查询