Java源码示例:org.apache.ibatis.type.TypeAliasRegistry

示例1
/**
 * 加载别名
 * @param configuration
 */
private void handleTypeAlias(Configuration configuration, XNode root) {
	log.info("load alias message...........................");
	TypeAliasRegistry typeAliasRegistry = configuration.getTypeAliasRegistry();
	XNode parent = root.evalNode("typeAliases");
	if(parent!=null){
		for (XNode child : parent.getChildren()) {
			if ("package".equals(child.getName())) {
				String typeAliasPackage = child.getStringAttribute("name");
				configuration.getTypeAliasRegistry().registerAliases(typeAliasPackage);
				log.info("package:"+typeAliasPackage);
			} else {
				String alias = child.getStringAttribute("alias");
				String type = child.getStringAttribute("type");
				try {
					Class<?> clazz = Resources.classForName(type);
					if (alias == null) {
						typeAliasRegistry.registerAlias(clazz);
					} else {
						typeAliasRegistry.registerAlias(alias, clazz);
					}
					log.info("alias:"+alias+"   type:"+clazz);
				} catch (ClassNotFoundException e) {
					throw new BuilderException("Error registering typeAlias for '" + alias + "'. Cause: " + e, e);
				}
			}
		}
	}
}
 
示例2
/**
 * Register simple package-less aliases for all parameter and return types in the DAO.
 */
private void registerSimpleAliases(final Class<? extends DataAccess> accessType) {
  TypeAliasRegistry registry = sessionFactory.getConfiguration().getTypeAliasRegistry();
  TypeLiteral<?> resolvedType = TypeLiteral.get(accessType);
  for (Method method : accessType.getMethods()) {
    for (TypeLiteral<?> parameterType : resolvedType.getParameterTypes(method)) {
      registerSimpleAlias(registry, parameterType.getRawType());
    }
    registerSimpleAlias(registry, resolvedType.getReturnType(method).getRawType());
  }
}
 
示例3
/**
 * Registers a simple package-less alias for the resolved type.
 */
private void registerSimpleAlias(final TypeAliasRegistry registry, final Class<?> clazz) {
  if (!clazz.isPrimitive() && !clazz.getName().startsWith("java.")) {
    try {
      registry.registerAlias(clazz);
    }
    catch (RuntimeException | LinkageError e) {
      debug("Unable to register type alias", e);
    }
  }
}
 
示例4
public TypeAliasRegistry getTypeAliasRegistry() {
	return typeAliasRegistry;
}
 
示例5
public TypeAliasRegistry getTypeAliasRegistry() {
  return typeAliasRegistry;
}
 
示例6
@Test
public void testTypeAlias() {
  TypeAliasRegistry typeAliasRegistry = sqlSessionFactory.getConfiguration().getTypeAliasRegistry();
  typeAliasRegistry.resolveAlias("testAlias");
}
 
示例7
public TypeAliasRegistry getTypeAliasRegistry() {
  return typeAliasRegistry;
}
 
示例8
@Test
public void testTypeAlias() {
  TypeAliasRegistry typeAliasRegistry = sqlSessionFactory.getConfiguration().getTypeAliasRegistry();
  typeAliasRegistry.resolveAlias("testAlias");
}
 
示例9
void configure(TypeAliasRegistry typeAliasRegistry);