老师,我这是哪里出错了?

老师,我这是哪里出错了?

package com.imooc.jdbc.sample;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.imooc.jdbc.common.DbUtils;

import javax.sql.DataSource;
import java.io.FileInputStream;
import java.net.URLDecoder;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

/**
 * Druid连接池配置与使用
 */
public class DruidSample {
    public static void main(String[] args) {
        //1.加载属性文件
        Properties properties =new Properties() ;
        String propertyFile=DruidSample.class.getResource("/druid-config.properties").getPath() ;
        //空格->%20 | 如 c:\java code\druid-config.properties
        //c:\java%20code\druid-config.properties
        try {
            propertyFile=new URLDecoder().decode(propertyFile ,"UTF-8");//为了解决读取时出错
            properties.load(new FileInputStream(propertyFile));//用 .load()方法加载propertyFile文件的路径;load中需要传入这个文件输入流,读取propertyFile指向的这个文件
        } catch (Exception e) {
            e.printStackTrace();
        }


        Connection conn=null;
        PreparedStatement pstmt=null;
        ResultSet rs=null;
        try {
            //2.获取DataSource数据源对象
            DataSource dataSource= DruidDataSourceFactory.createDataSource(properties );//DruidDataSourceFactory工厂类
            //3.创建数据库连接
            conn=dataSource.getConnection() ;
            pstmt=conn.prepareStatement("select * from employee limit 0,10");
            rs=pstmt.executeQuery();

            while(rs.next()){
                Integer eno=rs.getInt(1);//JDBC中字段索引从1开始,并非0,1就代表第一个字段
                String ename=rs.getString("ename");
                Float salary=rs.getFloat("salary");
                String dname=rs.getString("dname");
                System.out.println(dname+"-"+eno+"-"+ename+"-"+salary);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            /**
             * 不适用连接池L:conn.close() 关闭连接
             * 使用连接池:conn.close() 将连接回收至连接池
             */
            DbUtils.closeConnection(rs,pstmt,conn);
        }


    }
}
driverClassName=com.mysql.cj.jdbc.Driver 
url=jdbc:mysql://localhost:3306/imooc?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username=root
password=123456
initialSize=10 
maxActive=20


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小黑 2022-07-29 09:52:36

同学你好,可能是因为同学的druid-config.properties中driverClassName和initialSize后面有空格,同学将空格删掉就可以了。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师