- 浏览: 276036 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
java老大爷:
技术扶持 技术交流 汇聚程序员精英 群里有马士兵2017 ...
大数据数据 -
yeruowei:
遇到同样的问题,特意登录点赞
导入数据库时出现ORA-01435: 用户不存在 -
1017974387:
特意登陆来给你赞。。。。。。
导入数据库时出现ORA-01435: 用户不存在 -
sgy1103:
您好:看了苯苯熊家庭记帐注册码破解很羡慕。我在用,不过换电脑后 ...
笨笨家庭记账本—破解 -
shellbye:
居然真是这个原因。。。哈哈
maven设置中ERROR: JAVA_HOME is set to an invalid directory
public class JsonNodeType extends AbstractType{
private static final long serialVersionUID = 1L;
// protected static transient ILocalLogger logger = LocalLoggerFactory.getLogger(JsonNodeType.class);
public int[] sqlTypes(Mapping mapping) {
return new int[] {StringType.INSTANCE.sqlType()};
}
@Override
public int getColumnSpan(Mapping mapping) {
return 1;
}
@Override
public Class<JsonNode> getReturnedClass() {
return JsonNode.class;
}
@Override
public boolean isDirty(Object oldState, Object currentState, boolean[] checkable, SessionImplementor session) {
return !isSame(oldState, currentState, session.getEntityMode());
}
@Override
public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) throws SQLException {
return nullSafeGet(rs, names[0], session, owner);
}
@Override
public Object nullSafeGet(ResultSet rs, String name, SessionImplementor session, Object owner) throws SQLException {
return toJsonNode(StringType.INSTANCE.nullSafeGet(rs, name, session));
}
@Override
public void nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SessionImplementor session) throws SQLException {
StringType.INSTANCE.nullSafeSet(st, toJsonStr(value), index, settable, session);
}
@Override
public void nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) throws SQLException {
StringType.INSTANCE.nullSafeSet(st, toJsonStr(value), index, session);
}
@Override
public void setToXMLNode(Node node, Object value, SessionFactoryImplementor factory) {
StringType.INSTANCE.setToXMLNode(node, toJsonStr(value), factory);
}
@Override
public String toLoggableString(Object value, SessionFactoryImplementor factory) {
return StringType.INSTANCE.toLoggableString(toJsonStr(value), factory);
}
@Override
public Object fromXMLNode(Node xml, Mapping factory) {
return StringType.INSTANCE.fromXMLNode(xml, factory);
}
@Override
public String getName() {
return "jsonNode";
}
@Override
public Object deepCopy(Object value, EntityMode entityMode, SessionFactoryImplementor factory) {
return value == null ? null : toJsonNode(value.toString());
}
@Override
public boolean isMutable() {
return false;
}
@Override
public Object replace(Object original, Object target, SessionImplementor session, Object owner, @SuppressWarnings("rawtypes") Map copyCache) {
if (original == null) return null;
if (original.equals(target)) return target;
return toJsonNode(original.toString());
}
@Override
public boolean[] toColumnNullness(Object value, Mapping mapping) {
return StringType.INSTANCE.toColumnNullness(value, mapping);
}
}
/** json操作 */
public static final ObjectMapper JSON_MAPPER = new ObjectMapper();
static {
JSON_MAPPER.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false);
JSON_MAPPER.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
JSON_MAPPER.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
}
/**
* json对象转化为字符串
* @param value json对象
* @return
*/
public static String toJsonStr(Object value) {
try {
return JSON_MAPPER.writeValueAsString(value);
} catch (IOException e) {
throw new IllegalArgumentException(logger.getText(I10NFramework.convertJsonFail, value), e);
}
}
/**
* String转化为JsonNode对象
* @param value
* @return JsonNode
*/
public static JsonNode toJsonNode(String value) {
try {
return value == null ? null : JSON_MAPPER.readValue(value, JsonNode.class);
} catch (IOException e) {
throw new IllegalArgumentException(logger.getText(I10NFramework.convertJsonFail, value), e);
}
}
private static final long serialVersionUID = 1L;
// protected static transient ILocalLogger logger = LocalLoggerFactory.getLogger(JsonNodeType.class);
public int[] sqlTypes(Mapping mapping) {
return new int[] {StringType.INSTANCE.sqlType()};
}
@Override
public int getColumnSpan(Mapping mapping) {
return 1;
}
@Override
public Class<JsonNode> getReturnedClass() {
return JsonNode.class;
}
@Override
public boolean isDirty(Object oldState, Object currentState, boolean[] checkable, SessionImplementor session) {
return !isSame(oldState, currentState, session.getEntityMode());
}
@Override
public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) throws SQLException {
return nullSafeGet(rs, names[0], session, owner);
}
@Override
public Object nullSafeGet(ResultSet rs, String name, SessionImplementor session, Object owner) throws SQLException {
return toJsonNode(StringType.INSTANCE.nullSafeGet(rs, name, session));
}
@Override
public void nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SessionImplementor session) throws SQLException {
StringType.INSTANCE.nullSafeSet(st, toJsonStr(value), index, settable, session);
}
@Override
public void nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) throws SQLException {
StringType.INSTANCE.nullSafeSet(st, toJsonStr(value), index, session);
}
@Override
public void setToXMLNode(Node node, Object value, SessionFactoryImplementor factory) {
StringType.INSTANCE.setToXMLNode(node, toJsonStr(value), factory);
}
@Override
public String toLoggableString(Object value, SessionFactoryImplementor factory) {
return StringType.INSTANCE.toLoggableString(toJsonStr(value), factory);
}
@Override
public Object fromXMLNode(Node xml, Mapping factory) {
return StringType.INSTANCE.fromXMLNode(xml, factory);
}
@Override
public String getName() {
return "jsonNode";
}
@Override
public Object deepCopy(Object value, EntityMode entityMode, SessionFactoryImplementor factory) {
return value == null ? null : toJsonNode(value.toString());
}
@Override
public boolean isMutable() {
return false;
}
@Override
public Object replace(Object original, Object target, SessionImplementor session, Object owner, @SuppressWarnings("rawtypes") Map copyCache) {
if (original == null) return null;
if (original.equals(target)) return target;
return toJsonNode(original.toString());
}
@Override
public boolean[] toColumnNullness(Object value, Mapping mapping) {
return StringType.INSTANCE.toColumnNullness(value, mapping);
}
}
/** json操作 */
public static final ObjectMapper JSON_MAPPER = new ObjectMapper();
static {
JSON_MAPPER.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, false);
JSON_MAPPER.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
JSON_MAPPER.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
}
/**
* json对象转化为字符串
* @param value json对象
* @return
*/
public static String toJsonStr(Object value) {
try {
return JSON_MAPPER.writeValueAsString(value);
} catch (IOException e) {
throw new IllegalArgumentException(logger.getText(I10NFramework.convertJsonFail, value), e);
}
}
/**
* String转化为JsonNode对象
* @param value
* @return JsonNode
*/
public static JsonNode toJsonNode(String value) {
try {
return value == null ? null : JSON_MAPPER.readValue(value, JsonNode.class);
} catch (IOException e) {
throw new IllegalArgumentException(logger.getText(I10NFramework.convertJsonFail, value), e);
}
}
发表评论
-
java socket服务器端与其他语言的通讯
2013-05-15 17:20 1023首先说下背景: 项目是一个物资计量系统,大致的1:ja ... -
JAVA多线程实现和应用总结
2012-09-13 08:09 1204最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟 ... -
navicat10.0.* 注册码
2012-09-06 21:17 1060NAVD-IO5R-4VGM-TIZD (试过英文版,有用) ... -
mysql error 1366
2012-09-06 20:56 930出现error1366,是字符集的问题,设置为gbk就好啦, -
Unbound classpath variable: 'M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar' in proje
2012-09-06 09:44 3823在用eclipse管理项目的时候,出现Unbound clas ... -
Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
2012-08-27 13:25 1855java.net.SocketException: Unrec ... -
第三方类库
2012-08-27 09:27 874工程构建的时候应该具备的一些组件 -
weblogic手册
2012-08-14 08:12 1268重启weblogic 1、查看weblogic启动进程(节点1 ... -
iBATIS中statement ID命名冲突
2012-08-14 08:14 1684在用iBaTIS开发软件时,需要写很多sqlmap X ... -
eclips加载
2011-12-22 16:23 905eclips加载 web插件http://download.e ... -
一个struts2+json+jquery的问题
2011-05-18 11:17 1205问题比较简单,但是错乱的神经让我浪费啦一早晨. 1:配置环境 ... -
ibatis数组参数的设置
2011-05-17 22:39 2872<delete id="delete" ... -
风雨20年:我所积累的20条编程经验
2011-05-15 20:18 810原文作者乔纳森·丹尼 ... -
rmi
2011-05-15 19:54 854RmiMonitorService.java package ... -
ajax + struts2 + xml
2011-05-15 19:36 1087Jquery 发送ajax请求,action 或servlet ... -
http通用请求测试
2011-05-15 17:55 1425晕要发到博客上频道的怎么发到了这里。。。管理员能帮忙移动一下吗 ... -
关于多线程
2011-05-14 22:26 1074多线程和单线程的我个人认为,就是一个顺序的问题,,因为 ... -
注解POJO比不上使用配置文件的地方
2011-05-14 08:55 9531、跨数据库,POJO将无法公用 使用注解方式的POJO,将 ... -
hibernate in
2011-05-08 02:20 1310一个学科表(Field), ... -
在struts 2.0中,如何让<s:textfield> 不要换行?
2011-05-05 20:18 1221只要你将它的这个theme属性设成simple那么它就不会用S ...
相关推荐
本文将深入探讨易语言DLL返回自定义类型的相关知识,包括如何创建、调用以及处理返回的自定义类型数据。 一、易语言DLL的创建 1. 定义自定义类型:在易语言中,可以通过“类型”关键字定义自定义类型,例如,“类型...
### VBA用户自定义类型详解 #### 一、引言 在VBA(Visual Basic for Applications)编程中,用户自定义类型(User-Defined Types,UDTs)是一种非常实用的功能,它允许开发者创建包含多种数据类型的复合数据结构。...
在易语言中,自定义类型数组排序是一项重要的编程技能,它允许用户按照特定规则对包含自定义类型的数据进行排序。本文将详细讲解易语言自定义类型数组排序的相关知识点。 首先,我们需要理解易语言中的自定义类型...
**Android AIDL(Android Interface Definition Language)自定义类型交互** 在Android系统中,当需要在不同的进程间进行通信时,AIDL(Android Interface Definition Language)是首选的技术。它是一种接口定义...
自定义类型转换器是当Struts2内置的转换器无法满足特定业务需求时,开发者自行创建的一种扩展方式。然而,这里提到的"自定义类型转换器"实际上与权限控制有关,而非类型转换。描述中的内容主要涉及的是如何实现用户...
C#调用Oracle自定义类型存储过程,Oracle存储入参为type类型,对于不熟悉Oracle朋友,可以参考来调用。实现思路和正常调MSSQL一样,先建立连接,再定义一个IOracleCustomType的类,然后Oracle.DataAccess.dll的...
### Struts自定义类型转换器 #### 一、概述 在Web开发中,表单提交的数据通常是字符串形式的,而在业务逻辑处理时往往需要将这些数据转换为其他类型的对象(如日期、数字等)。Struts框架为了更好地处理这种类型...
在C++和Qml的交互中,有时我们需要将C++中的自定义类型数据传递到Qml界面中。这个过程涉及到Qt的元对象系统(Meta Object System)和Qml的上下文属性(Context Properties)。本文将深入讲解如何实现C++自定义类型到...
这涉及到类型转换,SpringMVC提供了一套完善的机制来支持自定义类型转换器,使得我们能够按需定制数据转换逻辑,从而提高代码的可读性和维护性。 标题中的"SSM笔记-自定义类型转换器"指的是在SpringMVC中创建自定义...
本例程重点介绍了如何在Qt环境下,通过重载QDataStream的operator和operator>>来实现自定义类型的数据读写,从而简化对文件的操作。 首先,理解QDataStream类是Qt中处理二进制数据流的核心工具,它允许我们以结构化...
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 ...(2) 为自定义类型分配和回收空间。
### VBA自定义类型返回函数解析 #### 一、VBA与自定义类型基础 VBA(Visual Basic for Applications)是Microsoft Office等应用程序中的内置编程语言。它支持面向对象编程和过程式编程,并且可以创建宏来自动化...
### Struts2自定义类型转换:深入解析与实践 #### 引言 在Web开发中,数据类型转换是一项常见的需求,特别是在用户输入的数据与后端处理的数据类型不一致时。Struts2框架提供了强大的类型转换机制,允许开发者...
当需要传递自定义数据结构时,我们首先定义一个接口,该接口包含一组方法,这些方法接收或返回自定义类型的实例。自定义类型通常以结构体(struct)的形式存在于C++中,或者以类(class)的形式存在于其他支持COM的...
在编程领域,动态自定义类型是一种允许程序在运行时创建和修改数据类型的机制。这种特性在许多编程语言中都有体现,比如Python、JavaScript、C#等。动态自定义类型允许开发者根据需求灵活地构建对象,而无需在编译时...
hash_set c++总结(自定义类型stuct、class)。总结自定义struct、class三个案例。find函数测试,hash_set迭代器。
在Java的Hibernate框架中,自定义类型是一种非常实用的功能,它允许开发者根据特定业务需求扩展Hibernate内置的数据类型。当我们发现Hibernate默认的数据类型无法满足我们存储数据的特殊要求时,例如需要处理复杂...
本资源“DLL返回自定义类型.rar”显然是关于如何在DLL中定义并返回自定义类型的示例,这在跨进程通信或模块化设计中非常常见。 在Windows API中,创建和使用DLL通常涉及到以下几个步骤: 1. **定义自定义类型**:...