普通网友 2018-12-11 08:09 采纳率: 53.3%
浏览 3065
已采纳

使用dbcp连接数据库报错java.lang.NumberFormatException: For input string: "20 "?

内容:
换了一个工程就可以跑得动
报错:

java.lang.NumberFormatException: For input string: "20 "
 at java.base/java.lang.NumberFormatException.forInputString(Unknown Source)
 at java.base/java.lang.Integer.parseInt(Unknown Source)
 at java.base/java.lang.Integer.parseInt(Unknown Source)
 at org.apache.commons.dbcp.BasicDataSourceFactory.createDataSource(BasicDataSourceFactory.java:228)
 at com.ekihin.part01.day20.DBCPDemo.<clinit>(DBCPDemo.java:21)
 at com.ekihin.part01.day20.DBCPDemoTest.main(DBCPDemoTest.java:15)
Exception in thread "main" java.lang.NullPointerException
 at com.ekihin.part01.day20.DBCPDemo.getConnection(DBCPDemo.java:29)
 at com.ekihin.part01.day20.DBCPDemoTest.main(DBCPDemoTest.java:15)

类:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBCPDemoTest {
 public static void main(String[] args) throws Exception {
  Connection conn = null;
  PreparedStatement ps = null;
  ResultSet rs = null;
  String sql = "Update emp set ename = ? where ename = ? ";

  conn = DBCPDemo.getConnection();
  ps = conn.prepareStatement(sql);
  ps.setObject(1, "彭奕滨");
  ps.setObject(2, "ekihin");
  int rows = 0;
  rows = ps.executeUpdate();
  System.out.println(rows);

  DBCPDemo.closeAll(conn, ps, rs);

 }
}

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

public class DBCPDemo {
 private static DataSource ds = null;

 static {
  Properties pt = new Properties();
  try {
   pt.load(DBCPDemo.class.getClassLoader().getResourceAsStream("dbcpconfig.properties"));
   ds = BasicDataSourceFactory.createDataSource(pt);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
  public static Connection getConnection() throws SQLException{
   //返回一个连接对象,不要用DriverManager获取,而是连接池中获取
   return ds.getConnection();
  }

  //关闭所有资源的统一代码
  public static void closeAll(Connection conn,Statement st,ResultSet rs){
   //负责关闭
   if(conn != null){
    try {
     conn.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   if(st != null){
    try {
     st.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   if(rs != null){
    try {
     rs.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
  }
}
  • 写回答

4条回答 默认 最新

  • 哈喽大海豚 2018-12-11 08:29
    关注

    你的配置文件里面20后面多了一个空格。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 机器学习教材中的例题询问
  • ¥15 求.net core 几款免费的pdf编辑器
  • ¥15 C# P/Invoke的效率问题
  • ¥20 thinkphp适配人大金仓问题
  • ¥20 Oracle替换.dbf文件后无法连接,如何解决?(相关搜索:数据库|死循环)
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)