mybatis的配置:
properties的配置:
代码:
package com.finance.entity.batctrl;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
import javax.sql.DataSource;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.codec.binary.Base64;
import org.apache.ibatis.datasource.pooled.PooledDataSource;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.mapping.Environment;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class MyBatisSessionFactory {
/**
* session工厂
*/
private final static SqlSessionFactory sqlSessionFactory;
/**
* 日志类
*/
private static Logger logger = LoggerFactory.getLogger(MyBatisSessionFactory.class);
static {
String resource = "mybatis-configuration.xml";
//Reader reader = null;
InputStream inputStream = null;
Properties props = new Properties();
try {
//reader = Resources.getResourceAsReader(resource);
InputStream in = Resources.getResourceAsStream("batch.properties");
props.load(in);
String url= props.getProperty("jdbc.url");
String username= props.getProperty("jdbc.username");
String password= props.getProperty("jdbc.password");
logger.debug("befor url -> "+url);
logger.debug("befor username -> "+username);
logger.debug("befor decode -> "+password);
byte[] b = Base64.decodeBase64(password.getBytes());
String decode = new String(b);
props.put("url",url);
props.put("username",username);
props.put("password",decode);
logger.debug("after url -> "+url);
logger.debug("after username -> "+username);
logger.debug("after decode -> "+decode);
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
}
//sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream ,props );
}
public static SqlSessionFactory getSessionFactory() {
return sqlSessionFactory;
}
}