`

Mybatis注意点

 
阅读更多

 

 

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 楼 chenghong726 2015-04-17  
不行还是读不到

相关推荐

    MyBatis 需要注意的地方junit注解

    1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 ...6. 一般能用#的就别用$ MyBatis排序时使用order by 动态参数时需要注意,用$而不是#

    springmybatis

    无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点: 1. 从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfactory 产生 session 3. 在session 中完成对数据的增删改查和事务提交等. 4....

    SpringBoot整合Mybatis注意事项.doc

    自己整合Mybatis过程中的注意问题与解决办法,目录: 1、Pom.xml中引入mybatis相关依赖 2、目录结构可视化 3、设置数据源 4、设置mapping.xml 与mapper的扫描 5、添加扫描自定义Controller、Service、Mapper等注解 6...

    Mybatis现学现用

    MyBatis排序时使用order by 动态参数时需要注意,用$而不是# 字符串替换 默认情况下,使用#{}格式的语法会导致MyBatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,...

    mybatis3.0原理+API注意事项

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 ...

    《深入浅出MyBatis技术原理与实战》高清完整PDF下载

    作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob字段、文件上传、批量、动态表名等实用场景,让读者能够参考和注意一些细节的问题。...

    mybatis 动态sql及参数传递

    在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...

    mybatis源码jar包

    刚开始学习mybatis的童鞋们注意了,查看mybatis源码,深入了解mybatis很有用哦

    mybatis-3-mybatis-3.5.4.tar.gz

    例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射...

    mybatis-framework修改生成

    1.创建一个utf-8的数据库,数据库名根据自己...8.生成好并刷新工程后注意修改spring-common.xml与spring-servlet.xml和web.xml 修改其中的数据库信息以及扫描包等信息 9.启动项目 访问:http://localhost:8080/项目名

    eclipse Mybatis generator 1.3.7 中文注释 插件核心包

    1、这是Eclipse MyBatis generator 1.3.7插件的核心包 2、首先到Eclipse中下载 MyBatis Generator 1.3.7插件,下载完按步骤进行安装 打开Help &gt; Eclipse Marketplace &gt; Search &gt; 输入框输入 MyBatis Generator ...

    mybatis pojo mapper生成插件

    mybatis pojo mapper生成插件;在newFile.xml配置数据源地址,然后配置 &lt;table tableName="TEST_MYBATIS" domainObjectName="TestMybatis"&gt; &lt;/table&gt; , ...注意包的引入。

    非注解时自动配置Mybatis spring配置文件和Mybatis自动生成类所需配置文件

    主要涉及写XML文件和读取数据库表信息,读取文件目录下文件名称,比较简单。此工具自动生成非注解时Spring整合MyBatis时需要的一些配置文件,对于...编码方式的不同,注意配置文件的中文注释可能报错,使用时删除即可。

    mybatis 注解别名找不到

    Cause: java.lang.ClassNotFoundException: Cannot find class: student 当你使用mybatis注解别名找不到文件时,在你的mybatis配置文件中加入 注意标签一定要放在标签下面

    springmvc mybatis 自动生成

    此框架可自动生成SpringMvc+mybatis框架结构数据库采用的是mysql用户可以自行更改成自己需要的数据库,使用时将本项目导入myeclipse或eclipse中,更改项目名称为 你自定义的项目名称后在Test包中有2个java类...

    Mybatis读写分离 mysql数据库 Druid连接池

    Mybatis读写分离,支持n多的从库,简单的负载均衡。数据库是mysql,采用druid连接池。 读写分离采用插件的形式实现的,优点是不需要写源注解,不需要写分开的Mapper.xml。...注意:没有使用Spring,只用到了Mybatis。

    mybatis实例教程代码

    2019年最新mybatis的学习教程加代码测试实例。由浅入深分别演示:1、最初基本实现原理代码;2、generator使用及代码实例;3、一对一,一对多及多对多关系代码配置应用实例;4、与spring结合应用实例。 每个实例均附...

    Mybatis实现分页的注意点

    Mybatis提供了强大的分页拦截实现,可以完美的实现分功能。下面小编给大家分享小编在使用拦截器给mybatis进行分页所遇到的问题及注意点,需要的朋友一起看看吧

    深入浅出MyBatis技术原理与实战

    第一部分是 MyBatis 基础应用, 主要介绍如何高效地使用 MyBatis。 第 1 章: MyBatis 的内容简介, 告诉读者 MyBatis 是什么, 在何种场景下使用它。 第 2 章: 主要介绍 MyBatis 的基础模块及其生命周期, 并给出...

    Mybatis日志中的SQL解析工具(网页版).html

    Mybatis日志中的SQL解析工具(网页版) 说明:复制日志时,必须注意,日志必须包含Preparing:和Parameters:全部内容,而且日志换行格式要保留,不要复制成纯文本,直接ctrl+c即可。

Global site tag (gtag.js) - Google Analytics