Mybatis 集成spring时,无法加载外部properties的值:
main.properties:
main.db.vtms3000.sIp=127.0.0.1
main.db.vtms3000.sPort=3306
main.db.vtms3000.sUsername=mysql
main.db.vtms3000.sPassword=password
spring加载配置文件:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF\main.properties</value>
</list>
</property>
<property name="fileEncoding">
<value>UTF-8</value>
</property>
</bean>
<bean id="developDataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://${main.db.vtms3000.sIp}:${main.db.vtms3000.sPort}/vtms3000" />
<property name="username" value="${main.db.vtms3000.sUsername}" />
<property name="password" value="${main.db.vtms3000.sPassword}" />
<property name="initialSize" value="20"/>
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30"/>
<property name="maxWait" value="1000"/>
<property name="testOnBorrow" value="true"/>
<property name="testWhileIdle" value="true"/>
<property name="testOnReturn" value="true"/>
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="timeBetweenEvictionRunsMillis" value="120000" />
<property name="validationQuery" value="select 1 from dual" />
</bean>
<!-- SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="developDataSource" />
<property name="configLocation" value="/WEB-INF/mybatis_config.xml" />
</bean>
<!-- ScanMapperFiles -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.dahuazwan.vtms.mapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
</beans>
说明:
${main.db.vtms3000.sIp}、${main.db.vtms3000.sPort}等值从属性文件main.properties获取,但是在实际执行时,取发现无法取到 ${main.db.vtms3000.sIp}的值,抛出异常
Caused by: java.lang.NumberFormatException: For input string: "${main.db.vtms3000.sPort}"
说明无法从main.properties中得到${main.db.vtms3000.sPort}对应的端口号
原因是spring + mybatis配置存在中冲突,只要注释掉<property name="sqlSessionFactory" ref="sqlSessionFactory"/> 即可:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.dahuazwan.vtms.mapper"/>
<!--
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
-->
</bean>
分享到:
相关推荐
1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 ...6. 一般能用#的就别用$ MyBatis排序时使用order by 动态参数时需要注意,用$而不是#
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4....
自己整合Mybatis过程中的注意问题与解决办法,目录: 1、Pom.xml中引入mybatis相关依赖 2、目录结构可视化 3、设置数据源 4、设置mapping.xml 与mapper的扫描 5、添加扫描自定义Controller、Service、Mapper等注解 6...
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,...
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ...
作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob字段、文件上传、批量、动态表名等实用场景,让读者能够参考和注意一些细节的问题。...
在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...
刚开始学习mybatis的童鞋们注意了,查看mybatis源码,深入了解mybatis很有用哦
例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射...
1.创建一个utf-8的数据库,数据库名根据自己...8.生成好并刷新工程后注意修改spring-common.xml与spring-servlet.xml和web.xml 修改其中的数据库信息以及扫描包等信息 9.启动项目 访问:http://localhost:8080/项目名
1、这是Eclipse MyBatis generator 1.3.7插件的核心包 2、首先到Eclipse中下载 MyBatis Generator 1.3.7插件,下载完按步骤进行安装 打开Help > Eclipse Marketplace > Search > 输入框输入 MyBatis Generator ...
mybatis pojo mapper生成插件;在newFile.xml配置数据源地址,然后配置 <table tableName="TEST_MYBATIS" domainObjectName="TestMybatis"> </table> , ...注意包的引入。
主要涉及写XML文件和读取数据库表信息,读取文件目录下文件名称,比较简单。此工具自动生成非注解时Spring整合MyBatis时需要的一些配置文件,对于...编码方式的不同,注意配置文件的中文注释可能报错,使用时删除即可。
Cause: java.lang.ClassNotFoundException: Cannot find class: student 当你使用mybatis注解别名找不到文件时,在你的mybatis配置文件中加入 注意标签一定要放在标签下面
此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目名称为 你自定义的项目名称后在Test包中有2个java类...
Mybatis读写分离,支持n多的从库,简单的负载均衡。数据库是mysql,采用druid连接池。 读写分离采用插件的形式实现的,优点是不需要写源注解,不需要写分开的Mapper.xml。...注意:没有使用Spring,只用到了Mybatis。
2019年最新mybatis的学习教程加代码测试实例。由浅入深分别演示:1、最初基本实现原理代码;2、generator使用及代码实例;3、一对一,一对多及多对多关系代码配置应用实例;4、与spring结合应用实例。 每个实例均附...
Mybatis提供了强大的分页拦截实现,可以完美的实现分功能。下面小编给大家分享小编在使用拦截器给mybatis进行分页所遇到的问题及注意点,需要的朋友一起看看吧
第一部分是 MyBatis 基础应用, 主要介绍如何高效地使用 MyBatis。 第 1 章: MyBatis 的内容简介, 告诉读者 MyBatis 是什么, 在何种场景下使用它。 第 2 章: 主要介绍 MyBatis 的基础模块及其生命周期, 并给出...
Mybatis日志中的SQL解析工具(网页版) 说明:复制日志时,必须注意,日志必须包含Preparing:和Parameters:全部内容,而且日志换行格式要保留,不要复制成纯文本,直接ctrl+c即可。