加我微信:拉你进高质量java群
下面这个错误真是打脸:
Type Exception Report
Message PreparedStatementCallback; SQL [insert into stu_info values (?,?,?,?,?,?)Column 'stuNo' cannot be null; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'stuNo' cannot be null
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into stu_info values (?,?,?,?,?,?)Column 'stuNo' cannot be null; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'stuNo' cannot be null
org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:87)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1402)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:620)
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:871)
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:317)
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:322)
com.zzxt.java.servlet.BankDaoImpl.saveCardInfo(BankDaoImpl.java:71)
com.zzxt.java.servlet.TestJdbc.testJdbc(TestJdbc.java:31)
com.zzxt.java.servlet.ServletHome.doPost(ServletHome.java:78)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'stuNo' cannot be null
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
com.mysql.jdbc.Util.getInstance(Util.java:386)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4190)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4122)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2818)
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2157)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2460)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2377)
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2361)
com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:256)
org.springframework.jdbc.core.JdbcTemplate.lambda$update$0(JdbcTemplate.java:855)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605)
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:871)
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:317)
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:322)
com.zzxt.java.servlet.BankDaoImpl.saveCardInfo(BankDaoImpl.java:71)
com.zzxt.java.servlet.TestJdbc.testJdbc(TestJdbc.java:31)
com.zzxt.java.servlet.ServletHome.doPost(ServletHome.java:78)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
这是我的代码:很明显错误出在数据的传送上:!!!!!!!!!!!!!!!!!!!!!
我竟然之前把<input>的属相name写成了id,导致我百思不得其解。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学生信息网页录入</title>
</head>
<body>
<form action="doInsertInfo" method="post">
<table align="center" border="1px" bordercolor="blue">
<tr>
<th colspan="2" align="center">添加学生信息</th>
</tr>
<tr>
<td align="center">学生学号</td><td align="left"><input type="text" name="stuNo"></td>
</tr>
<tr>
<td align="center">学生姓名</td><td align="left"><input type="text" name="stuName"></td>
</tr>
<tr>
<td align="center">学生性别</td><td align="left"><input type="text" name="gender"></td>
</tr>
<tr>
<td align="center">学生年龄</td><td align="left"><input type="text" name="age"></td>
</tr>
<tr>
<td align="center">学生班级</td><td align="left"><input type="text" name="classNo"></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="提交" value="添加"></td>
</tr>
</table>
</form>
</body>
</html>
低级错误,
有时后一直找不到错误在哪, 说不定就是像这样的低级语法错误。