spring:配置jdbc

前言:我不得不说,在配置spring的jdbc链接上,我犯了很多错,虽然我一再改善,并且寻求更加简洁的解决方案,然而都一直未能最终解决,我必须感谢我的队友,是他轻松的找到了这个解决方案,而我一直苦苦寻找的就是它。spring的占位符,通过简单的context:property-placeholder元素,就可以轻松的配置jdbc链接,但是这是一个曲折的故事,你听我来诉苦,并且得到你想要的答案。

最初的样子

<bean
  id="dataSource"
  class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property
   name="driverClassName"
   value="com.mysql.jdbc.Driver"></property>
  <property
   name="url"
   value="jdbc:mysql://127.0.0.1:3306/gong1?useUnicode=true&characterEncoding=utf8&"></property>
  <property
   name="username"
   value="root"></property>
  <property
   name="password"
   value="123456"></property>

这种死板的样子,让我受尽苦难,因为我的项目通常需要在不同的服务器上运行,而所需要的ip和用户名密码和本地的均不相同,我只能在每次打成jar包后,先解压改成我想要的,然后再使用。

接下来的样子

<context:property-placeholder location="conf/jdbc.properties"/>

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
  <property name="url" value="${jdbc.url}"></property>
  <property name="username" value="${jdbc.username}"></property>
  <property name="password" value="${jdbc.password}"></property>
jdbc.url=jdbc:mysql://127.0.0.1:3306/gong?useUnicode=true&characterEncoding=utf8&
jdbc.username=root
jdbc.password=123456

我好像学到了什么,我使用了占位符,看似我就成功了,只要我改动jdbc.properties文件就OK了,然而我依然深受其害,因为,按照

location="conf/jdbc.properties"的写法,我依然需要改动jar包中的jdbc.properties,而不是我对应相对路径下的jdbc.properties。后来我虽然尝试了很多诸如classpath://conf/jdbc.properties,还有file://conf/jdbc.properties等等各种形式,然而都没有效果,显然我没有找到正确的方案。

最终版

结构图(jdbc.properties文件在conf文件夹下)

<context:property-placeholder location="file:./conf/jdbc.properties"/>

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
  <property name="url" value="${jdbc.url}"></property>
  <property name="username" value="${jdbc.username}"></property>
  <property name="password" value="${jdbc.password}"></property>
jdbc.url=jdbc:mysql://127.0.0.1:3306/gong?useUnicode=true&characterEncoding=utf8&
jdbc.username=root
jdbc.password=123456

通过在对应目录下运行java -jar communicate.jar就会链接成功了,而不再是找不到对应的目录了。“./”就意味着去找jar包所在路径的上一层。这样的话,相对路径的方案就解决了问题,每一台服务器上只需要配置一次jdbc.properties。

时间: 2024-10-14 17:34:18

spring:配置jdbc的相关文章

spring配置jdbc与hibernate数据源

<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">       <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>       <property n

spring中配置jdbc数据源

1.加入jdbc驱动器包,mysql-connector-java.jar 2.加入commons-dbcp.jar配置数据源 3.在classpath下新建文件jdbc.properties,配置jdbc数据源参数 jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\:3306/baiyin jdbc.username=root jdbc.password=123456 4.在xml中导入数据

Spring整合jdbc

首先web.xml文件跟往常一样,加载spring容器和加载org.springframework.web.context.ContextLoaderListener读取applicationContext.xml文件初进行始化. 使用spring整合jdbc工具步骤: 1.使用连接池com.mchange.v2.c3p0.ComboPooledDataSource等工具创建数据源. 2.把数据源交给LazyConnectionDataSourceProxy进行管理 3.把LazyConnect

Spring(十三)Spring整合JDBC

做开发不连接数据库怎么行!Spring整合JDBC过程中,数据源可以直接都在beans.xml里配置,也可以把数据单独放在一个properties文件里,方便维护. 首先放入各种jar包,连接MySQL当然要放数据驱动文件. jar包什么的对照项目截图,切面aspect和cglib在这个工程没用到,jar包可以不添加进来 beans.xml,在头文件加上tx事务相关的引用,其他要注意的在文件的注释里基本都点到了 <?xml version="1.0" encoding="

spring配置hibernate的sessionFactory的几种方法

分类: JAVA Spring Hibernate 2013-01-27 20:47  1851人阅读  评论(0)  收藏  举报 spring配置hibernate的sessionFactory 之前用spring2+hibernate3+struts2开发了一个彩信发布系统,由于第一次使用此架构,造成applicationContext.xml中的配置非常冗长,而且经常因为更改一个小配置项(例:数据库ip.用户名.密码等)将此文件作修改,这及不利于项目维护,万一粗心造成其他地方变动,会对本

JAVAEE——spring03:spring整合JDBC和aop事务

一.spring整合JDBC 1.spring提供了很多模板整合Dao技术 2.spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术. JDBCTemplate => JDBC模板对象 与DBUtils中的QueryRunner非常相似. //0 准备连接池 ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("com.mysql.jdbc.Dri

跟着刚哥学习Spring框架--JDBC(六)

Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简化JDBC编程 Spring提供了3个模板类: JdbcTemplate:Spring里最基本的JDBC模板,利用JDBC和简单的索引参数查询提供对数据库的简单访问. NamedParameterJdbcTemplate:能够在执行查询时把值绑定到SQL里的命名参数,而不是使用索引参数. Simpl

Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理

Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架,让spring来帮我们处理异常. (1)使用简单异常处理器 step1. 配置简单异常处理器. step2. 添加对应的异常处理页面. 注:该方式只适合处理简单异常的处理,如果要对异常做复杂处理,比如 记录日志等,则不合适了. (2)使用@ExceptionHandler注解 step1. 在处理

Spring之JDBC Template

时间:2017-2-5 18:16 --Spring对不同持久化技术的支持 Spring为各种支持的持久化技术都提供了简单操作的模板和回调. ORM持久化技术:    JDBC:        org.springframework.jdbc.core.JdbcTemplate Hibernate3.0:        org.springframework.orm.hibernate3.HibernateTemplate IBatis(MyBatis):        org.springfr