不解,求教,多谢。JUnit进行单元测试时。
代码如下:Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/xxx", "root", "");
PreparedStatement stmt=conn.prepareStatement("insert into PERSONNEL(ID,FIRSTNAME,LASTNAME,AGE) values(?,?,?,?)");
stmt.executeUpdate();
conn.close();从prepareStatement()方法中抛出。异常如下:java.lang.NullPointerException
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:578)
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:516)
at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:3758)
at java.lang.String.valueOf(String.java:2131)
at java.lang.StringBuffer.append(StringBuffer.java:370)
at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
at com.mysql.jdbc.Connection.registerStatement(Connection.java)
at com.mysql.jdbc.Statement.<init>(Statement.java:267)
at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:435)
at com.mysql.jdbc.ServerPreparedStatement.asSql(ServerPreparedStatement.java:360)
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:516)
at com.mysql.jdbc.ServerPreparedStatement.toString(ServerPreparedStatement.java:2433)
at java.lang.String.valueOf(String.java:2131)
at java.lang.StringBuffer.append(StringBuffer.java:370)
at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
at com.mysql.jdbc.Connection.registerStatement(Connection.java)
at com.mysql.jdbc.Statement.<init>(Statement.java:267)
at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:417)
at com.mysql.jdbc.ServerPreparedStatement.<init>(ServerPreparedStatement.java:290)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4656)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4573)
at 我的类中该行:PreparedStatement stmt=conn.prepareStatement("insert into PERSONNEL(ID,FIRSTNAME,LASTNAME,AGE) values(?,?,?,?)");
代码如下:Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/xxx", "root", "");
PreparedStatement stmt=conn.prepareStatement("insert into PERSONNEL(ID,FIRSTNAME,LASTNAME,AGE) values(?,?,?,?)");
stmt.executeUpdate();
conn.close();从prepareStatement()方法中抛出。异常如下:java.lang.NullPointerException
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:578)
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:516)
at com.mysql.jdbc.PreparedStatement.toString(PreparedStatement.java:3758)
at java.lang.String.valueOf(String.java:2131)
at java.lang.StringBuffer.append(StringBuffer.java:370)
at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
at com.mysql.jdbc.Connection.registerStatement(Connection.java)
at com.mysql.jdbc.Statement.<init>(Statement.java:267)
at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:435)
at com.mysql.jdbc.ServerPreparedStatement.asSql(ServerPreparedStatement.java:360)
at com.mysql.jdbc.PreparedStatement.asSql(PreparedStatement.java:516)
at com.mysql.jdbc.ServerPreparedStatement.toString(ServerPreparedStatement.java:2433)
at java.lang.String.valueOf(String.java:2131)
at java.lang.StringBuffer.append(StringBuffer.java:370)
at com.mysql.jdbc.trace.Tracer.printParameters(Tracer.aj:240)
at com.mysql.jdbc.trace.Tracer.printEntering(Tracer.aj:167)
at com.mysql.jdbc.trace.Tracer.entry(Tracer.aj:126)
at com.mysql.jdbc.trace.Tracer.ajc$before$com_mysql_jdbc_trace_Tracer$1$f51c62b8(Tracer.aj:45)
at com.mysql.jdbc.Connection.registerStatement(Connection.java)
at com.mysql.jdbc.Statement.<init>(Statement.java:267)
at com.mysql.jdbc.PreparedStatement.<init>(PreparedStatement.java:417)
at com.mysql.jdbc.ServerPreparedStatement.<init>(ServerPreparedStatement.java:290)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4656)
at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4573)
at 我的类中该行:PreparedStatement stmt=conn.prepareStatement("insert into PERSONNEL(ID,FIRSTNAME,LASTNAME,AGE) values(?,?,?,?)");
解决方案 »
- mysql的on与using语句怎么用,请详细说明
- 为什么在我的机子上安装MySQL就不成功
- mysql 插入数据编码问题
- Unknown column 'XXX' in 'field list'(java增加mysql数据库记录的问题)
- 各位大侠我问一个关于Postgresql数据库导入到ORCALE里面去的问题
- MySql安装后什么图标都没有,如何启动它?
- 在线等待:在MySQL的sql语句中如何将字符串强制转换为整形?Integer不行!
- 那里有JDBC sqlserver驱动下载,不是MYSQL
- Mysql load data infile 变量使用问题?
- mysqld.sock找不到,数据库启动失败
- 无法删除表的问题
- 如何读取blob字段的值
这段代码下面不是还要有
stmt.setInt(1,ID),stmt.setString(2,FIRSTNAME).....等的吗?
PreparedStatement stmt=conn.prepareStatement("insert into PERSONNEL(ID,FIRSTNAME,LASTNAME,AGE) values(?,?,?,?)");
这句出现的 后面的没执行到。网上查到说3.0的版本没这个问题,3.x似乎有。我想知道5.x的版本有朋友遇到过没有,怎么解决?