MyBatis-3.4.2-源码分析11:XML解析之environmentsElement+Druid的解析准备工作:整合Druid
2017-03-29 00:00
1151 查看
这一节,重要,需要认真解析
首先整合Mybatis + Druid,配置文件怎么写?
模板如下:
下面给出我的
具体实现:
com.alibaba.druid.pool.DruidDataSource
首先整合Mybatis + Druid,配置文件怎么写?
模板如下:
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="这里配置为org.apache.ibatis.datasource.DataSourceFactory的实现类"> <property name="" value=""/> <!-- 这里放druid需要的参数 --> </dataSource> </environment> </environments>
下面给出我的
具体实现:
package user.defined; import java.util.Properties; import javax.sql.DataSource; public class MyDataSourceFactory implements org.apache.ibatis.datasource.DataSourceFactory { protected Properties properties; @Override public void setProperties(Properties props) { this.properties = props; } @Override public DataSource getDataSource() { try { javax.sql.DataSource dataSource = com.alibaba.druid.pool.DruidDataSourceFactory .createDataSource(properties); return dataSource; } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException("init data source error", e); } } }
<environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="user.defined.MyDataSourceFactory"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis" /> <property name="username" value="用户名" /> <property name="password" value="密码" /> </dataSource> </environment> </environments>
相关文章推荐
- MyBatis-3.4.2-源码分析8:XML解析之environmentsElement(root.evalNode("environments"))
- MyBatis-3.4.2-源码分析7:解析XML之settingsElement(settings)
- MyBatis-3.4.2-源码分析17:XML解析之bindMapperForNamespace
- MyBatis-3.4.2-源码分析16:XML解析之SqlSessionFactory|SqlSession
- MyBatis-3.4.2-源码分析5:解析XML之objectFactoryElement(root.evalNode("objectFactory"))
- MyBatis-3.4.2-源码分析4:解析XML之pluginElement(root.evalNode("plugins"))
- MyBatis-3.4.2-源码分析15:XML解析之buildStatementFromContext(context.evalNodes(‘select|insert|update|delete’
- MyBatis-3.4.2-源码分析9:XML解析之databaseIdProviderElement(root.evalNode("databaseIdProvider"))
- MyBatis-3.4.2-源码分析6:解析XML之objectWrapperFactoryElement & reflectorFactoryElement
- MyBatis-3.4.2-源码分析1:解析XML之propertiesElement(root.evalNode("properties"))
- MyBatis-3.4.2-源码分析14:XML解析之sqlElement(context.evalNodes("/mapper/sql"))
- MyBatis-3.4.2-源码分析2:解析XML之settingsAsProperties(root.evalNode("settings"))
- MyBatis-3.4.2-源码分析18:XML解析之RoleMapper userMapper = sqlSession.getMapper(RoleMapper.class)
- MyBatis-3.4.2-源码分析12:XML解析之mapperElement(root.evalNode("mappers"))
- Mybatis3源码分析(三):解析mapper的xml配置文件
- Mybatis3源码分析(11)-Sql解析执行-BoundSql的加载-1
- Druid源码分析系列1:dataSource.init()的准备工作
- ClassPathXmlApplicationContext源码解析一:准备工作
- Mybatis3源码分析(三):解析mapper的xml配置文件
- Mybatis工作机制源码分析—初始化—mapper配置文件解析