`

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 官方笔记 + MyBatis 3.5.10 官方英文文档

    **MyBatis 知识点概述** MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解进行...

    Mybatis知识点浅浅笔记

    Mybatis 知识点浅浅笔记 Mybatis 是一个半自动的 ORM 框架,实现数据库的数据与程序对象的映射。它支持 XML 配置和 SQL 映射文件配置,提供了灵活的持久层框架。 XML 配置 Mybatis 的 XML 配置文件用于定义数据库...

    idea 15 mybatis插件

    对于MyBatis插件,readme.txt可能包含了如何在IDEA 15中安装、配置和使用该插件的详细步骤,以及任何需要注意的兼容性问题、更新日志和开发者信息。 2. **mybatis_plus** - 这可能是插件的主文件或者包含所有相关...

    MyBatis 需要注意的地方junit注解

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

    mybatis,mybatis+mysql

    8. **最佳实践**:在实际应用中,还需要注意一些最佳实践,比如避免使用ResultType="HashMap",尽量使用JavaBean作为结果类型;尽量避免在Mapper接口中使用过多方法,保持接口简洁。 9. **整合Spring**:MyBatis常...

    SpringBoot整合Mybatis注意事项.doc

    在整合SpringBoot和Mybatis的过程中,需要注意以下几个关键点,这些步骤将确保Mybatis能正确地与SpringBoot框架集成,提供数据库操作的能力。 1. **引入Mybatis相关依赖**: 在`pom.xml`文件中,你需要添加Mybatis...

    mybatis笔记.zip

    MyBatis 可以使你更好地将关注点集中在你的应用程序上。同时,它也提供了对事务的控制,使得数据库操作更为便捷。 MyBatis 的核心概念主要包括以下几个部分: 1. **配置文件**:MyBatis 的全局配置文件包含 ...

    MyBatisX 插件离线安装包

    5. **注意事项** - 安装前确保IDEA版本与插件兼容,以免出现无法安装或运行异常的问题。 - 离线安装可能错过在线插件商店中的最新版本,定期检查是否有更新,以便保持最佳性能和稳定性。 6. **总结** MyBatisX...

    MybatisX-1.4.17.zip

    在使用MybatisX-1.4.17这个版本时,需要注意的是,由于版本迭代,可能会有一些新特性或改进。因此,开发者应当定期更新插件,以确保获取最新的功能和修复的bug,保持最佳的使用体验。 总的来说,MybatisX插件是...

    servlet3.0与mybatis整合的示例

    本文将深入探讨如何将Servlet3.0与MyBatis整合,以及这个过程中的关键知识点。 一、Servlet3.0新特性 1. 注解配置:Servlet3.0引入了注解,允许开发者在类或方法级别声明Servlet、过滤器和监听器,无需在web.xml中...

    Mybatis系列教程Mybatis插件共8页.pdf.z

    8. **最佳实践**:提供使用Mybatis插件的最佳实践和注意事项,避免常见的错误和陷阱。 由于压缩包内提到的"赚钱项目"与Mybatis插件教程的主题关联性不强,我们无法直接从这个信息推断出具体的知识点。然而,如果这...

    mybatis延迟加载样例

    3. **注意事项**:延迟加载只有在会话打开的情况下才能工作。如果在获取到实体对象后关闭了SqlSession,那么后续尝试访问延迟加载的属性会抛出异常。此外,由于MyBatis使用的是单次延迟加载,一旦触发加载,整个关联...

    springmybatis

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

    asp.net搭建mybatis开发环境

    需要注意的是,实际应用中可能涉及事务管理、缓存策略、动态SQL等更复杂的功能,需要进一步学习MyBatis.NET的高级特性。此外,随着.NET Core的普及,也可以考虑使用MyBatis.NET的.NET Core版本,以适应现代Web开发的...

    mybatis拦截器实现通用权限字段添加的方法

    在使用MyBatis拦截器时,我们需要注意以下几点: 1. 添加插件时,需要使用xml形式的配置文件,或者使用注解形式的配置。 2. 在jdbc的jar包中配置了sqlSessionFactory,我们需要覆盖这个配置。 3. 在spring配置文件...

    mybatis-3.5.6.zip

    1. 易于上手:MyBatis 使用 XML 或注解来配置和映射原生信息,使得开发者能够将注意力集中在 SQL 语句上,而无需处理大量的 JDBC 代码。 2. 动态 SQL:MyBatis 允许在映射文件或注解中编写动态 SQL,这使得 SQL ...

    mybatisPlugin2.92

    在使用MyBatis Plugin时,需要注意以下几点: - 安装与配置:在IDEA或Eclipse等开发环境中,需要正确安装并配置插件,通常涉及添加插件依赖和配置拦截器。 - 拦截器配置:根据需求选择需要开启的拦截器,比如日志...

    mybatis_plus 2.92

    然而,需要注意的是,描述中提到的2.92版本是相对于3.0版本的一个较早版本。尽管2.92可能在破解和使用上相对容易,但每个新版本通常会带来更多的优化和功能增强。例如,MyBatis Plus的3.x版本可能包含了更多对新特性...

    MyBatis 中文帮助文档以及MyBatis包

    9. **缓存机制**:MyBatis内置了本地缓存和二级缓存,可以提高数据读取效率,但需要注意缓存的同步和清理策略。 10. **事务管理**:MyBatis允许开发者自定义事务管理,可以通过编程式或者声明式的方式来控制事务的...

Global site tag (gtag.js) - Google Analytics