查询报错

查询报错

这里怎么报错了,更新数据是可以的,数据表能写入,就是查询出问题了

package com.imooc.practise.command;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.imooc.practise.common.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

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

public class ApacheUpdate {
    private static void update(){
        Properties properties = new Properties();
        String propertyFile = ApacheUpdate.class.getResource("/druid-config.properties").getPath();
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            propertyFile = new URLDecoder().decode(propertyFile,"UTF-8");
            properties.load(new FileInputStream(propertyFile));
            DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
            conn = dataSource.getConnection();
            conn.setAutoCommit(false);
            String sql = "insert into goods(name,price,desp,create_time) values(?,?,?,?)";
            QueryRunner qr = new QueryRunner();
            qr.update(conn,sql,new Object[]{"照相机",5000,"防水,索尼","1999/1/30"});
            conn.commit();
            query();
        } catch (Exception e) {
            e.printStackTrace();
            try {
                if (conn != null && !conn.isClosed()) {
                    conn.rollback();
                    System.out.println("添加失败!");
                }
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }finally {
            DbUtils.closeConnection(null,null,conn);
        }
    }

    private static void query(){
        Properties properties = new Properties();
        String propertyFile = ApacheUpdate.class.getResource("/druid-config.properties").getPath();
        try {
            propertyFile = new URLDecoder().decode(propertyFile, "UTF-8");
            properties.load(new FileInputStream(propertyFile));
            DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
            QueryRunner qr = new QueryRunner(dataSource);
            List<Goods> list = qr.query("select * from goods",
                    new BeanListHandler<>(Goods.class));
            for (Goods good : list) {
                System.out.println(good.toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        update();
    }
}


相关截图:

https://img1.sycdn.imooc.com//climg/6172cf7a09c9123917590487.jpg

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

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

1回答
好帮手慕阿园 2021-10-23 11:33:30

同学你好,测试代码是可以正常查询数据的,如下

https://img1.sycdn.imooc.com//climg/6173809509f8011808740706.jpg

建议同学将报错信息反馈完整,另外根据报错显示,报错位置是在59行,同学可以定位到该位置进行排查下

祝学习愉快~

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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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