Spring+Maven+DBCP配置数据库连接

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38409944/article/details/82684400

首先maven引入:

 <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
</dependency>
<dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
</dependency>

方法1:配置Bean:硬配置

 <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useAffectedRows=true&amp;serverTimezone=Asia/Shanghai&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false"></property>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

测试:

 DataSource dataSource = (DataSource) applicationContext.getBean("datasource");
        System.out.println(dataSource);
        Connection connection = dataSource.getConnection();
        connection.prepareStatement("INSERT INTO schools(name) values('SpringNew')").executeUpdate();

输出:

org.apache.commons.dbcp.BasicDataSource@370736d9

方法2:引用外部配置文件:

配置文件db.properties放在resource资源文件夹下:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?useAffectedRows=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123456

xml配置Bean:

 <!--导入属性文件-->
    <context:property-placeholder location="db.properties"></context:property-placeholder>
    <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="url" value="${jdbc.url}"></property>
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

注意1:

destroy-method="close" 类关闭的时候同时关闭数据库连接

注意2:

mysql-connector-java版本6以上对应com.mysql.cj.jdbc.Driver

问题1:

Client does not support authentication protocol requested by server;   
consider upgrading MySQL client

解决方案:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.76 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.12 sec)

问题2:

Cannot load JDBC driver class 'com.mysql.cj.jdbc.Driver '

原因:

jdbc.driver=com.mysql.cj.jdbc.Driver 后面多了一个空格。。。。坑不吭

线程调度之多线程循环打印ABCABC

猜你喜欢

转载自blog.csdn.net/qq_38409944/article/details/82684400
今日推荐