Spring +MyBatis 整合访问数据库出现错误

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Exception in thread "main"org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dbcppool' defined in class path resource [spring_mybatis.xml]: Error setting property values; nested exception isorg.springframework.beans.NotWritablePropertyException: Invalid property 'uname' of bean class [org.apache.commons.dbcp.BasicDataSource]: Bean property 'uname' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?


 这里是文件叫 spring_mybatis.xml文件,是整合过程中的访问数据以及注册sqlSessionFactory,注册事务等

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:tx="http://www.springframework.org/schema/tx"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

<bean id="peopertyPlcaceHolder"

 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

 <property name="location" value="classpath:db_mysql.properties"/>

 </bean>

 <!-- 注册连接池 配置参数 -->

 <bean id="dbcppool" class="org.apache.commons.dbcp.BasicDataSource"

 destroy-method="close">

 <property name="driverClassName" value="${driver}"/>

 <property name="url" value="${url}"/>

 <property name="username" value="${username}"/>

 <property name="password" value="${passw}"/>

    

 <!-- 伸缩性配置 -->

 <property name="initialSize" value="${initialSize}"/>

 <property name="maxActive" value="${maxActive}"/>

 <property name="maxIdle" value="${maxIdle}"/>

 <property name="minIdle" value="${minIdle}"/>

 <property name="maxWait" value="${maxWait}"/>

 

 </bean>

 <!-- sqlSessionFactory对象 -->

<bean id="sqlSessionFactory" 

      class="org.mybatis.spring.SqlSessionFactoryBean">

      <property name="dataSource" ref="dbcppool"/>

      <property name="configLocation" value="classpath:mybatis-config.xml"/>

</bean>

<!-- 注册一个创建Mapper对象的bean类 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="dao"/>

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

</bean>

<!-- 配置事务管理 -->

</beans>


 

driver=com.mysql.jdbc.Driver

url=jdbc\:mysql\://localhost\:3306/jsd1790

username=root

upass=qwe

#dbcp pool parameters

initialSize=2

maxActive=20

maxIdle=10

minIdle=2

maxWait=15000

 

通过多次试验

Dbcp 的方法中 dataSource的属性是固定的

通过测试  在我们使用dbcp产品的时候应该设置和人家已经设置好的参数一致

import java.sql.Connection;

import java.sql.SQLException;

 

import org.apache.commons.dbcp.BasicDataSource;

 

public class DBCP_demo {

 

public static void main(String[] args) throws SQLException {

/*

 * 实现DBCP数据库连接池

 */

//1.创建数据库连接池对象(缓冲区对象)

BasicDataSource dataSource = new BasicDataSource();

//2.设置JDBC的四大参数

dataSource.setDriverClassName("com.mysql.jdbc.Driver");

dataSource.setUrl("jdbc:mysql://localhost:3306/class90");

dataSource.setUsername("root");

dataSource.setPassword("111");

//3.设置池参数(可选,数据库连接池对象都有默认参数值)

dataSource.setInitialSize(10);//连接池的初始化连接对象10个

dataSource.setMaxActive(10);//最大并打访问数10个

dataSource.setMaxIdle(5);//最大空闲数5个

dataSource.setMinIdle(2);//最小空闲数2个

dataSource.setMaxWait(300);//最大等待时间300毫秒

//4.从连接池中获取连接对象

Connection con = dataSource.getConnection();

/*

 * 5.使用连接对象完成jdbc操作:

 * jdbc:mysql://localhost:3306/class90, UserName=root@localhost, MySQL-AB JDBC Driver

 */

System.out.println(con);

//6.归还连接对象到池中

con.close();

}

}


 

 <!--修改  这里dbcppool的四大参数的名字应该是固定的 name=”” 无论你的.properties文件里面的参数名是什么样都没关系,只和你的dbcp的四大参数有关-->

driverClassName

Url

Username

password

 <bean id="dbcppool" class="org.apache.commons.dbcp.BasicDataSource"

 destroy-method="close">

 <property name="driverClassName" value="${driver}"/>

 <property name="url" value="${url}"/>

 <property name="username" value="${username}"/>

 <property name="password" value="${passw}"/>

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值