版权声明:本文为博主原创文章,未经博主允许不得转载。 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&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&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