List of usage examples for org.apache.ibatis.mapping ParameterMapping getJavaType
public Class<?> getJavaType()
From source file:com.appleframework.orm.mybatis.pagehelper.parser.impl.AbstractParser.java
License:Open Source License
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Map<String, Object> processParameter(MappedStatement ms, Object parameterObject,
BoundSql boundSql) {/*from www .jav a 2 s. c o m*/
Map<String, Object> paramMap = null;
if (parameterObject == null) {
paramMap = new HashMap<String, Object>();
} else if (parameterObject instanceof Map) {
//???Map
paramMap = new HashMap<String, Object>();
paramMap.putAll((Map) parameterObject);
} else {
paramMap = new HashMap<String, Object>();
//?sql??ParameterMapping?getter
//TypeHandlerRegistry???
boolean hasTypeHandler = ms.getConfiguration().getTypeHandlerRegistry()
.hasTypeHandler(parameterObject.getClass());
MetaObject metaObject = SystemMetaObject.forObject(parameterObject);
//??MyProviderSqlSource?
if (ms.getSqlSource() instanceof PageProviderSqlSource) {
paramMap.put(PROVIDER_OBJECT, parameterObject);
}
if (!hasTypeHandler) {
for (String name : metaObject.getGetterNames()) {
paramMap.put(name, metaObject.getValue(name));
}
}
//????
if (boundSql.getParameterMappings() != null && boundSql.getParameterMappings().size() > 0) {
for (ParameterMapping parameterMapping : boundSql.getParameterMappings()) {
String name = parameterMapping.getProperty();
if (!name.equals(PAGEPARAMETER_FIRST) && !name.equals(PAGEPARAMETER_SECOND)
&& paramMap.get(name) == null) {
if (hasTypeHandler || parameterMapping.getJavaType().equals(parameterObject.getClass())) {
paramMap.put(name, parameterObject);
break;
}
}
}
}
}
//?
paramMap.put(ORIGINAL_PARAMETER_OBJECT, parameterObject);
return paramMap;
}
From source file:com.bluesky.iplatform.commons.db.mybatis.SqlHelper.java
License:Open Source License
/** * ????sql/*from w ww. j a va2s . com*/ * * @param session * @param namespace * @param params * @return */ public static String getNamespaceSql(SqlSession session, String namespace, Object params) { params = wrapCollection(params); Configuration configuration = session.getConfiguration(); MappedStatement mappedStatement = configuration.getMappedStatement(namespace); TypeHandlerRegistry typeHandlerRegistry = mappedStatement.getConfiguration().getTypeHandlerRegistry(); BoundSql boundSql = mappedStatement.getBoundSql(params); List<ParameterMapping> parameterMappings = boundSql.getParameterMappings(); String sql = boundSql.getSql(); if (parameterMappings != null) { for (int i = 0; i < parameterMappings.size(); i++) { ParameterMapping parameterMapping = parameterMappings.get(i); if (parameterMapping.getMode() != ParameterMode.OUT) { Object value; String propertyName = parameterMapping.getProperty(); if (boundSql.hasAdditionalParameter(propertyName)) { value = boundSql.getAdditionalParameter(propertyName); } else if (params == null) { value = null; } else if (typeHandlerRegistry.hasTypeHandler(params.getClass())) { value = params; } else { MetaObject metaObject = configuration.newMetaObject(params); value = metaObject.getValue(propertyName); } JdbcType jdbcType = parameterMapping.getJdbcType(); if (value == null && jdbcType == null) jdbcType = configuration.getJdbcTypeForNull(); sql = replaceParameter(sql, value, jdbcType, parameterMapping.getJavaType()); } } } return sql; }
From source file:com.itfsw.mybatis.generator.plugins.tools.SqlHelper.java
License:Apache License
/** * ????sql/*from w w w . j a v a2 s . c o m*/ * @param session * @param namespace * @param params * @return */ public static String getNamespaceSql(SqlSession session, String namespace, Object params) { Configuration configuration = session.getConfiguration(); MappedStatement mappedStatement = configuration.getMappedStatement(namespace); TypeHandlerRegistry typeHandlerRegistry = mappedStatement.getConfiguration().getTypeHandlerRegistry(); BoundSql boundSql = mappedStatement.getBoundSql(params); List<ParameterMapping> parameterMappings = boundSql.getParameterMappings(); String sql = boundSql.getSql(); if (parameterMappings != null) { for (int i = 0; i < parameterMappings.size(); i++) { ParameterMapping parameterMapping = parameterMappings.get(i); if (parameterMapping.getMode() != ParameterMode.OUT) { Object value; String propertyName = parameterMapping.getProperty(); if (boundSql.hasAdditionalParameter(propertyName)) { value = boundSql.getAdditionalParameter(propertyName); } else if (params == null) { value = null; } else if (typeHandlerRegistry.hasTypeHandler(params.getClass())) { value = params; } else { MetaObject metaObject = configuration.newMetaObject(params); value = metaObject.getValue(propertyName); } JdbcType jdbcType = parameterMapping.getJdbcType(); if (value == null && jdbcType == null) jdbcType = configuration.getJdbcTypeForNull(); sql = replaceParameter(sql, value, jdbcType, parameterMapping.getJavaType()); } } } return sql; }
From source file:com.jwmoon.framework.sql.MyBatisQueryResolver.java
License:Open Source License
private String resolveQuery(SqlSession sqlSession, String queryId, Object sqlParam) { BoundSql boundSql = sqlSession.getConfiguration().getMappedStatement(queryId).getSqlSource() .getBoundSql(sqlParam);// w w w .ja va2 s. com String sql = boundSql.getSql(); //System.out.println(" ? SQL : " + sql); Object paramObj = boundSql.getParameterObject(); if (paramObj != null) { List<ParameterMapping> paramMapping = boundSql.getParameterMappings(); Class<? extends Object> paramClass = paramObj.getClass(); for (ParameterMapping mapping : paramMapping) { String propValue = mapping.getProperty(); try { Field field = paramClass.getDeclaredField(propValue); field.setAccessible(true); // private? Class<?> javaType = mapping.getJavaType(); if (String.class == javaType) { sql = sql.replaceFirst("\\?", "'" + field.get(paramObj) + "'"); } else { sql = sql.replaceFirst("\\?", "'" + field.get(paramObj).toString() + "'"); } } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } return sql; }
From source file:com.linju.framework.pager.parser.impl.AbstractParser.java
License:Open Source License
public Map setPageParameter(MappedStatement ms, Object parameterObject, BoundSql boundSql, Page page) { Map paramMap = null;/*ww w.j a va2 s .co m*/ if (parameterObject == null) { paramMap = new HashMap(); } else if (parameterObject instanceof Map) { paramMap = (Map) parameterObject; } else { paramMap = new HashMap(); //?sql??ParameterMapping?getter //TypeHandlerRegistry??? boolean hasTypeHandler = ms.getConfiguration().getTypeHandlerRegistry() .hasTypeHandler(parameterObject.getClass()); MetaObject metaObject = SystemMetaObject.forObject(parameterObject); //??MyProviderSqlSource? if (ms.getSqlSource() instanceof PageProviderSqlSource) { paramMap.put(PROVIDER_OBJECT, parameterObject); } if (!hasTypeHandler) { for (String name : metaObject.getGetterNames()) { paramMap.put(name, metaObject.getValue(name)); } } //???? if (boundSql.getParameterMappings() != null && boundSql.getParameterMappings().size() > 0) { for (ParameterMapping parameterMapping : boundSql.getParameterMappings()) { String name = parameterMapping.getProperty(); if (!name.equals(PAGEPARAMETER_FIRST) && !name.equals(PAGEPARAMETER_SECOND) && paramMap.get(name) == null) { if (hasTypeHandler || parameterMapping.getJavaType().equals(parameterObject.getClass())) { paramMap.put(name, parameterObject); break; } } } } } //? paramMap.put(ORIGINAL_PARAMETER_OBJECT, parameterObject); return paramMap; }
From source file:com.xiaogua.web.util.MybatisSqlHelper.java
License:Open Source License
/** //from w ww .j a v a 2s .c o m * ????sql * * @param session * @param namespace * @param params * @return */ public static String getNameSpaceSql(SqlSession session, String namespace, Object params) { params = wrapCollection(params); Configuration configuration = session.getConfiguration(); MappedStatement mappedStatement = configuration.getMappedStatement(namespace); TypeHandlerRegistry typeHandlerRegistry = mappedStatement.getConfiguration().getTypeHandlerRegistry(); BoundSql boundSql = mappedStatement.getBoundSql(params); List<ParameterMapping> parameterMappings = boundSql.getParameterMappings(); String sql = boundSql.getSql(); if (parameterMappings != null) { for (int i = 0; i < parameterMappings.size(); i++) { ParameterMapping parameterMapping = parameterMappings.get(i); if (parameterMapping.getMode() != ParameterMode.OUT) { Object value; String propertyName = parameterMapping.getProperty(); if (boundSql.hasAdditionalParameter(propertyName)) { value = boundSql.getAdditionalParameter(propertyName); } else if (params == null) { value = null; } else if (typeHandlerRegistry.hasTypeHandler(params.getClass())) { value = params; } else { MetaObject metaObject = configuration.newMetaObject(params); value = metaObject.getValue(propertyName); } JdbcType jdbcType = parameterMapping.getJdbcType(); if (value == null && jdbcType == null) jdbcType = configuration.getJdbcTypeForNull(); sql = replaceParameter(sql, value, jdbcType, parameterMapping.getJavaType()); } } } return sql; }
From source file:org.fire.platform.common.page.parser.impl.AbstractParser.java
License:Open Source License
@SuppressWarnings({ "rawtypes", "unchecked" })
public Map setPageParameter(MappedStatement ms, Object parameterObject, BoundSql boundSql, Page page) {
Map paramMap = null;//from www .ja va 2s . c o m
if (parameterObject == null) {
paramMap = new HashMap();
} else if (parameterObject instanceof Map) {
paramMap = (Map) parameterObject;
} else {
paramMap = new HashMap();
//?sql??ParameterMapping?getter
//TypeHandlerRegistry???
boolean hasTypeHandler = ms.getConfiguration().getTypeHandlerRegistry()
.hasTypeHandler(parameterObject.getClass());
MetaObject metaObject = SystemMetaObject.forObject(parameterObject);
//??MyProviderSqlSource?
if (ms.getSqlSource() instanceof PageProviderSqlSource) {
paramMap.put(PROVIDER_OBJECT, parameterObject);
}
if (!hasTypeHandler) {
for (String name : metaObject.getGetterNames()) {
paramMap.put(name, metaObject.getValue(name));
}
}
//????
if (boundSql.getParameterMappings() != null && boundSql.getParameterMappings().size() > 0) {
for (ParameterMapping parameterMapping : boundSql.getParameterMappings()) {
String name = parameterMapping.getProperty();
if (!name.equals(PAGEPARAMETER_FIRST) && !name.equals(PAGEPARAMETER_SECOND)
&& paramMap.get(name) == null) {
if (hasTypeHandler || parameterMapping.getJavaType().equals(parameterObject.getClass())) {
paramMap.put(name, parameterObject);
break;
}
}
}
}
}
//?
paramMap.put(ORIGINAL_PARAMETER_OBJECT, parameterObject);
return paramMap;
}
From source file:org.mybatis.scripting.velocity.ParameterMappingCollector.java
License:Apache License
private ParameterMapping itemize(ParameterMapping source, PropertyInfo var) { StringBuilder sb = new StringBuilder().append("_RPTITEM_").append(uid++); var.root = sb.toString(); String propertyName = sb.append(var.path).toString(); ParameterMapping.Builder builder = new ParameterMapping.Builder(configuration, propertyName, source.getJavaType()); builder.expression(source.getExpression()).jdbcType(source.getJdbcType()) .jdbcTypeName(source.getJdbcTypeName()).mode(source.getMode()) .numericScale(source.getNumericScale()).resultMapId(source.getResultMapId()) .typeHandler(source.getTypeHandler()); return builder.build(); }