时间:2021-07-01 10:21:17 帮助过:18人阅读
2、继承ObjectJsonHandler
- <span style="color: rgba(0, 128, 0, 1)">/**</span><span style="color: rgba(0, 128, 0, 1)">
- * @Author jijiecong
- * @Date 2021/4/20 11:49
- * @Version 1.0
- * @Description 评价扩展字段json处理器
- </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
- <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span> EvaluationAttributesJsonHandler <span style="color: rgba(0, 0, 255, 1)">extends</span> ObjectJsonHandler<EvaluationAttributesEntity><span style="color: rgba(0, 0, 0, 1)"> {
- </span><span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)"> EvaluationAttributesJsonHandler() {
- </span><span style="color: rgba(0, 0, 255, 1)">super</span>(EvaluationAttributesEntity.<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">);
- }
- }</span>
二、List对象转JsonArray
1、继承BaseTypeHandler
覆盖setNonNullParameter(),getNullableResult(),getNullableResult(),getNullableResult()方法
- **
- *<span style="color: rgba(0, 0, 0, 1)"> ObjectJsonArrayHandler
- </span>*<span style="color: rgba(0, 0, 0, 1)"> JSONArray处理类
- </span>*
- * @version v1.0.0
- * @date 2020/7/23
- */
- <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span> ObjectJsonArrayHandler<T> <span style="color: rgba(0, 0, 255, 1)">extends</span> BaseTypeHandler<List<T>><span style="color: rgba(0, 0, 0, 1)"> {
- </span><span style="color: rgba(0, 0, 255, 1)">private</span> <span style="color: rgba(0, 0, 255, 1)">final</span> Class<T><span style="color: rgba(0, 0, 0, 1)"> clazz;
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> ObjectJsonArrayHandler(Class<T><span style="color: rgba(0, 0, 0, 1)"> clazz) {
- </span><span style="color: rgba(0, 0, 255, 1)">if</span> (clazz == <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">) {
- </span><span style="color: rgba(0, 0, 255, 1)">throw</span> <span style="color: rgba(0, 0, 255, 1)">new</span> IllegalArgumentException("Type argument cannot be null"<span style="color: rgba(0, 0, 0, 1)">);
- } </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
- </span><span style="color: rgba(0, 0, 255, 1)">this</span>.clazz =<span style="color: rgba(0, 0, 0, 1)"> clazz;
- }
- }
- @Override
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">void</span> setNonNullParameter(PreparedStatement ps, <span style="color: rgba(0, 0, 255, 1)">int</span> i, List<T> ts, JdbcType jdbcType) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> SQLException {
- ps.setString(i, JSONArray.toJSONString(ts));
- }
- @Override
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<T> getNullableResult(ResultSet rs, String s) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> SQLException {
- String jsonArrayStr </span>=<span style="color: rgba(0, 0, 0, 1)"> rs.getString(s);
- </span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(0, 0, 255, 1)">null</span> !=<span style="color: rgba(0, 0, 0, 1)"> jsonArrayStr) {
- </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> JSONArray.parseArray(jsonArrayStr).toJavaList(clazz);
- }
- </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
- }
- @Override
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<T> getNullableResult(ResultSet rs, <span style="color: rgba(0, 0, 255, 1)">int</span> i) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> SQLException {
- String jsonArrayStr </span>=<span style="color: rgba(0, 0, 0, 1)"> rs.getString(i);
- </span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(0, 0, 255, 1)">null</span> !=<span style="color: rgba(0, 0, 0, 1)"> jsonArrayStr) {
- </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> JSONArray.parseArray(jsonArrayStr).toJavaList(clazz);
- }
- </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
- }
- @Override
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> List<T> getNullableResult(CallableStatement cs, <span style="color: rgba(0, 0, 255, 1)">int</span> i) <span style="color: rgba(0, 0, 255, 1)">throws</span><span style="color: rgba(0, 0, 0, 1)"> SQLException {
- String jsonArrayStr </span>=<span style="color: rgba(0, 0, 0, 1)"> cs.getString(i);
- </span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(0, 0, 255, 1)">null</span> !=<span style="color: rgba(0, 0, 0, 1)"> jsonArrayStr) {
- </span><span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)"> JSONArray.parseArray(jsonArrayStr).toJavaList(clazz);
- }
- </span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">null</span><span style="color: rgba(0, 0, 0, 1)">;
- }
- }</span>
2、继承ObjectJsonArrayHandler
- <span style="color: rgba(0, 128, 0, 1)">/**</span><span style="color: rgba(0, 128, 0, 1)">
- * StringJsonArrayHandler
- *
- * </span><span style="color: rgba(128, 128, 128, 1)">@version</span><span style="color: rgba(0, 128, 0, 1)"> v1.0.0
- * @date 2020/8/11
- </span><span style="color: rgba(0, 128, 0, 1)">*/</span>
- <span style="color: rgba(0, 0, 255, 1)">public</span> <span style="color: rgba(0, 0, 255, 1)">class</span> StringJsonArrayHandler <span style="color: rgba(0, 0, 255, 1)">extends</span> ObjectJsonArrayHandler<String><span style="color: rgba(0, 0, 0, 1)"> {
- </span><span style="color: rgba(0, 0, 255, 1)">public</span> StringJsonArrayHandler(Class<String><span style="color: rgba(0, 0, 0, 1)"> clazz) {
- </span><span style="color: rgba(0, 0, 255, 1)">super</span>(String.<span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">);
- }
- }</span>
json存数据库时处理器,jsonHandler/jsonArrayHandler
标签:覆盖 ali arrays jdb str ring div att resultset