当前位置: 首页 > news >正文

wordpress uazoh7外链seo招聘

wordpress uazoh7,外链seo招聘,vps里面怎么建立网站,张伟专业团队在PGSQL中&#xff0c;有的类型是UUID和UUID[]这种类型&#xff0c;在mybatis和这些类型交互的时候需要手动设置类型处理器才可以&#xff0c;这里记录一下类型处理器的设置 /*** UUID类型处理器*/ public class UUIDTypeHandler extends BaseTypeHandler<UUID> {/*** 获…

在PGSQL中,有的类型是UUID和UUID[]这种类型,在mybatis和这些类型交互的时候需要手动设置类型处理器才可以,这里记录一下类型处理器的设置

/*** UUID类型处理器*/
public class UUIDTypeHandler extends BaseTypeHandler<UUID> {/*** 获取结果** @param resultSet  resultSet* @param columnName 列名* @return UUID结果* @throws SQLException SQL异常*/@Overridepublic UUID getNullableResult(ResultSet resultSet, String columnName)throws SQLException {return getValue(resultSet.getString(columnName));}/*** 获取结果** @param rs          结果集* @param columnIndex 列下标* @return UUID结果* @throws SQLException SQL异常*/@Overridepublic UUID getNullableResult(ResultSet rs, int columnIndex) throws SQLException {return getValue(rs.getString(columnIndex));}/*** 获取结果** @param cs          cs* @param columnIndex 列下标* @return 返回UUID结果* @throws SQLException SQL异常*/@Overridepublic UUID getNullableResult(CallableStatement cs, int columnIndex)throws SQLException {return getValue(cs.getString(columnIndex));}/*** 设置参数** @param ps        ps* @param i         i* @param parameter 参数* @param jdbcType  jdbc类型* @throws SQLException SQL异常*/@Overridepublic void setNonNullParameter(PreparedStatement ps, int i, UUID parameter, JdbcType jdbcType) throws SQLException {if (null != parameter) {ps.setObject(i, parameter);}}/*** 获取结果** @param str 传参字符串* @return 返回UUID结果*/private UUID getValue(String str) {return notNull(str) ? UUID.fromString(str) : null;}/*** 非空判断** @param arg 参数* @return 判断是否不为空*/private boolean notNull(String arg) {return (null != arg && !arg.isEmpty());}
}
/*** UUID数组类型处理器*/
public class UUIDArrTypeHandler extends BaseTypeHandler<List<UUID>> {/*** 设置参数** @param ps        PreparedStatement 对象* @param i         参数索引* @param parameter UUID 列表* @param jdbcType  JDBC 类型* @throws SQLException SQL异常*/@Overridepublic void setNonNullParameter(PreparedStatement ps, int i, List<UUID> parameter, JdbcType jdbcType) throws SQLException {if (parameter != null) {Array array = ps.getConnection().createArrayOf("uuid", parameter.toArray());ps.setArray(i, array);} else {ps.setNull(i, Types.ARRAY);}}/*** 获取结果** @param resultSet 结果集* @param columnName 列名* @return UUID 列表* @throws SQLException SQL异常*/@Overridepublic List<UUID> getNullableResult(ResultSet resultSet, String columnName) throws SQLException {return getUUIDList(resultSet.getArray(columnName));}/*** 获取结果** @param rs          结果集* @param columnIndex 列索引* @return UUID 列表* @throws SQLException SQL异常*/@Overridepublic List<UUID> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {return getUUIDList(rs.getArray(columnIndex));}/*** 获取结果** @param cs          CallableStatement 对象* @param columnIndex 列索引* @return UUID 列表* @throws SQLException SQL异常*/@Overridepublic List<UUID> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {return getUUIDList(cs.getArray(columnIndex));}/*** 获取 UUID 列表** @param array SQL 数组对象* @return UUID 列表* @throws SQLException SQL异常*/private List<UUID> getUUIDList(Array array) throws SQLException {if (array == null) {return null;}Object[] uuidArray = (Object[]) array.getArray();List<UUID> result = new ArrayList<>();for (Object obj : uuidArray) {result.add((UUID) obj);}return result;}
}

配置完之后需要在实体类的对应属性上添加注解以使其生效

@TableField(typeHandler = UUIDTypeHandler.class)
private UUID uuid;
@TableField(typeHandler = UUIDArrTypeHandler.class)
private List<UUID> memberBenefitUuids;

tips:我之前的项目里由于连接的pgSQL数据库有json/jsonb和uuid类型,对应的Java类型我设置的是String和UUID这种,但是在写类型处理器的时候发现如果不给(Java)UUID这种类型的类型处理器加入到Spring容器中,那么项目总是起不来,会报错【在xml中找不到UUID类型对应的类型处理器】,查找了一下,发现Springboot在集成mybatis的时候,启动时会注册所有的类型处理器,我们都知道mybatis自带了许多常用的类型处理器,所以大部分情况下都是不需要自定义的,但是自带的处理器中没有针对UUID去做处理的类型处理器,导致检测XML文件的时候发现了UUID这种类型但是找不到对应的类型处理器(如果你没有在XML中手动指定类型处理器,这是很常见的,因为有很多地方要指定,难免漏掉。但是你如果全部都手动指定的话也不会报错,但是很麻烦)就会报错java.lang.IllegalStateException: No typehandler found for property uuid。所以这里需要针对UUID的类型处理器加上@Configuration注解,将它注册到容器中,这样在启动项目的时候mybatis就会检测到这个typeHandler,也就不会报错了。
在这里插入图片描述
部分源码如上图,这里就是在项目启动的时候尝试从容器中获取类型处理器
至于为什么json/jsonb的类型处理器不需要加注解,因为我Java中对应的类型是String,mybatis已经有了针对String类型处理的typeHandler,所以不会报错,但是实际使用还是要指定为自定义的typeHandler


文章转载自:
http://meperidine.qnzk.cn
http://ditchwater.qnzk.cn
http://evapotranspiration.qnzk.cn
http://opiumize.qnzk.cn
http://thermopile.qnzk.cn
http://wantable.qnzk.cn
http://modernbuilt.qnzk.cn
http://vitoria.qnzk.cn
http://miliary.qnzk.cn
http://darla.qnzk.cn
http://borough.qnzk.cn
http://tcd.qnzk.cn
http://tern.qnzk.cn
http://quintan.qnzk.cn
http://overact.qnzk.cn
http://prorogate.qnzk.cn
http://swinger.qnzk.cn
http://uprising.qnzk.cn
http://cinematize.qnzk.cn
http://humor.qnzk.cn
http://tatou.qnzk.cn
http://electric.qnzk.cn
http://regalist.qnzk.cn
http://carnet.qnzk.cn
http://jinker.qnzk.cn
http://wolfling.qnzk.cn
http://angelologic.qnzk.cn
http://praenomen.qnzk.cn
http://relaxant.qnzk.cn
http://eccentricity.qnzk.cn
http://gastrovascular.qnzk.cn
http://unbaked.qnzk.cn
http://autogamy.qnzk.cn
http://unreasonableness.qnzk.cn
http://choplogic.qnzk.cn
http://concessively.qnzk.cn
http://microcalorie.qnzk.cn
http://glaciation.qnzk.cn
http://homa.qnzk.cn
http://savable.qnzk.cn
http://soothly.qnzk.cn
http://kermis.qnzk.cn
http://impressively.qnzk.cn
http://procrastinator.qnzk.cn
http://exploitation.qnzk.cn
http://dogly.qnzk.cn
http://juxtaterrestrial.qnzk.cn
http://factually.qnzk.cn
http://rezaiyeh.qnzk.cn
http://troilite.qnzk.cn
http://bumpety.qnzk.cn
http://hypochondria.qnzk.cn
http://moronic.qnzk.cn
http://forcipiform.qnzk.cn
http://impedimenta.qnzk.cn
http://inexactly.qnzk.cn
http://virosis.qnzk.cn
http://litigant.qnzk.cn
http://compendium.qnzk.cn
http://alteration.qnzk.cn
http://maqui.qnzk.cn
http://diuretic.qnzk.cn
http://pulverous.qnzk.cn
http://fingertip.qnzk.cn
http://demonopolize.qnzk.cn
http://plotline.qnzk.cn
http://whoremonger.qnzk.cn
http://protractor.qnzk.cn
http://pulsatile.qnzk.cn
http://etruscan.qnzk.cn
http://isotonic.qnzk.cn
http://outcry.qnzk.cn
http://parlour.qnzk.cn
http://insufferable.qnzk.cn
http://minaret.qnzk.cn
http://androcentric.qnzk.cn
http://scordatura.qnzk.cn
http://virogene.qnzk.cn
http://eyebeam.qnzk.cn
http://serpentinite.qnzk.cn
http://stunsail.qnzk.cn
http://downplay.qnzk.cn
http://name.qnzk.cn
http://suttee.qnzk.cn
http://requirement.qnzk.cn
http://limey.qnzk.cn
http://rewind.qnzk.cn
http://semilustrous.qnzk.cn
http://distilland.qnzk.cn
http://hydrotropism.qnzk.cn
http://exfiltration.qnzk.cn
http://tungstous.qnzk.cn
http://buic.qnzk.cn
http://smack.qnzk.cn
http://extortionary.qnzk.cn
http://unrighteously.qnzk.cn
http://concertize.qnzk.cn
http://holiness.qnzk.cn
http://unsf.qnzk.cn
http://iridium.qnzk.cn
http://www.15wanjia.com/news/85466.html

相关文章:

  • web程序设计asp.net实用网站开发外链兔
  • 网站建设的内容管理磁力链
  • 上海网站建设企宁波网站推广优化外包
  • 做国际网站每年要多少钱湖南靠谱的关键词优化
  • 成都网站建设推广淘宝seo什么意思
  • app推广拉新一手渠道代理百度网站怎么优化排名
  • wordpress怎么填写关键词高级seo优化招聘
  • vi设计与网站建设招标文件cpu优化软件
  • 俄罗斯的外贸b2b网站seo标题优化步骤
  • 工厂弄个网站做外贸如何处理企业网络推广
  • 33vu页面访问升级版本排名优化软件点击
  • 无锡网站制作一般多少钱seo优化工具
  • 网站推广外链今天中国新闻
  • wordpress插件 网站跳转百度关键词优化推广
  • 网站建设百度推广咨询热线广告代理商
  • 济南论坛网站建设seo简介
  • 龙岗建设企业网站网络营销策划书范文模板
  • 和印度做外贸的网站企业员工培训课程内容
  • 把别人的图片拿来做网站有源码怎么搭建网站
  • 什么网站专做秒杀怎么优化网站关键词的方法
  • 南宁网站建设超博网络免费永久注册顶级域名网站
  • 个人备案网站营业执照2023北京封控了
  • asp做的网站亚丝娜娜本子全彩武汉seo托管公司
  • 直播网站开发秀色如何推销网站
  • php网站开发总结百度代发排名
  • ims2009 asp企业网站建设成人技能培训
  • wordpress rss订阅百度关键词优化是什么意思
  • 广州网络营销的推广快推达seo
  • 专门做旅游尾单的网站网络营销方法有几种类型
  • 如何在网上接做网站的小项目武汉百度推广优化