不解,求教,多谢。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导入txt文件的数据后查询后显示出来有问题!
- mysql触发器问题请教
- MYSQL集群(MYSQL簇)的NDB引擎,数据是保存在内存中吗?那如果整个机房停电了,数据会丢失吗?
- mysql 语句,select 1+2+3+4 as abc from table1 where abc>0
- 鐢⊿QL璇彞鍒涘缓涓€涓〃锛屽叾涓竴涓瓧娈垫槸涓婚敭绫诲瀷鏄痸archar(12)锛屽苟涓旇繖涓瓧娈电殑鍊间负绯荤粺鏃ユ湡鍔犲洓浣
- MySQL如何使SELECT语句使查询结果自动生成序号?
- 50分:.sql文件导入的问题
- MYSQL查询数据间隔数
- 使用链接服务器执行远程MySQL数据库上的存储过程报错
- 同一个事件代码,我分别在2个数据库中创建的,为什么执行时间不一样?
- 无法删除表的问题
- 如何读取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的版本有朋友遇到过没有,怎么解决?