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);