List of usage examples for org.apache.ibatis.builder.xml XMLMapperBuilder XMLMapperBuilder
public XMLMapperBuilder(InputStream inputStream, Configuration configuration, String resource,
Map<String, XNode> sqlFragments, String namespace)
From source file:org.springframework.data.mybatis.repository.query.PartTreeMybatisQuery.java
License:Apache License
private void doCreateQueryStatement(MybatisQueryMethod method) { Configuration configuration = sqlSessionTemplate.getConfiguration(); String statementXML = ""; if (tree.isDelete()) { statementXML = doCreateDeleteQueryStatement(); } else if (tree.isCountProjection()) { statementXML = doCreateCountQueryStatement(getStatementName()); } else if (method.isPageQuery()) { statementXML = doCreatePageQueryStatement(true); } else if (method.isSliceQuery()) { statementXML = doCreatePageQueryStatement(false); } else if (method.isStreamQuery()) { } else if (method.isCollectionQuery()) { statementXML = doCreateCollectionQueryStatement(); } else if (method.isQueryForEntity()) { statementXML = doCreateSelectQueryStatement(getStatementName()); }//from ww w . jav a 2 s . c om StringBuilder builder = new StringBuilder(); builder.append(MAPPER_BEGIN); builder.append("<mapper namespace=\"" + getNamespace() + "\">"); builder.append(statementXML); builder.append(MAPPER_END); String xml = builder.toString(); if (logger.isDebugEnabled()) { logger.debug("\n******************* Auto Generate MyBatis Mapping XML (" + getStatementId() + ") *******************\n" + xml); } InputStream inputStream = null; try { inputStream = new ByteArrayInputStream(xml.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { // ignore } String namespace = getNamespace(); String resource = getStatementId() + "_auto_generate.xml"; try { XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(inputStream, configuration, resource, configuration.getSqlFragments(), namespace); xmlMapperBuilder.parse(); } catch (Exception e) { throw new MappingException("create auto mapping error for " + namespace, e); } finally { try { inputStream.close(); } catch (IOException e) { logger.error(e.getMessage(), e); } } }
From source file:org.springframework.data.mybatis.repository.support.MybatisSimpleRepositoryMapperGenerator.java
License:Apache License
public void generate() { String xml;/*from ww w . j a va 2 s.c om*/ String namespace = model.getClz().getName(); try { xml = render(); } catch (IOException e) { throw new MappingException("create auto mapping error for " + namespace, e); } if (logger.isDebugEnabled()) { logger.debug("\n******************* Auto Generate MyBatis Mapping XML (" + namespace + ") *******************\n" + xml); } InputStream inputStream = null; try { inputStream = new ByteArrayInputStream(xml.getBytes("UTF-8")); } catch (UnsupportedEncodingException e) { // ignore } String resource = namespace + "_auto_generate.xml"; try { XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(inputStream, configuration, resource, configuration.getSqlFragments(), namespace); xmlMapperBuilder.parse(); } catch (Exception e) { logger.warn(xml); throw new MappingException("create auto mapping error for " + namespace, e); } finally { try { inputStream.close(); } catch (IOException e) { logger.error(e.getMessage(), e); } } }