servlet向MySQL插入数据,Int可以成功,String无法插入

下面是报出的错误,百度之后我已经删除了对应表的外键和约束,重启了服务器,还是无法插入。
java.sql.SQLException: Duplicate key or integrity constraint violation message from server: "Column 'CourlerTitle' cannot be null"
servlet中的相应代码

`String sql = "insert into t_courler(CourlerId,CourlerTitle,UserId,CourlerContent) values(?,?,?,?)";

//String sql = "insert into t_courler(CourlerId,UserId) values(?,?)";

// 获取PreparedStatement

PreparedStatement ps = conn.prepareStatement(sql);

// 对SQL语句中的第1个参数赋值

ps.setInt(1, book.getCourierId());

ps.setString(2, book.getCourierTitle());

ps.setInt(3, book.getUserId());

ps.setString(4, book.getCourierContent());

// 执行更新操作,返回所影响的行数

int row = ps.executeUpdate();

// 判断是否更新成功

if (row > 0) {

// 更新成输出信息

System.out.print("成功添加了 " + row + "条数据!");

}

// 关闭PreparedStatement,释放资源

ps.close();

// 关闭Connection,释放资源

conn.close(); `

对应的javabean代码

package com.fz.bean;

public class courierData {

public int getCourierId() {

return CourierId;

}

public void setCourierId(int courierId) {

this.CourierId = courierId;

}

public String getCourierTitle() {

return CourierTitle;

}

public void setCourierTitle(String courierTitle) {

this.CourierTitle = courierTitle;

}

public String getCourierContent() {

return CourierContent;

}

public void setCourierContent(String courierContent) {

this.CourierContent = courierContent;

}

public int getUserId() {

return UserId;

}

public void setUserId(int userId) {

this.UserId = userId;

}

public String getCourierImage() {

return CourierImage;

}

public void setCourierImage(String courierImage) {

this.CourierImage = courierImage;

}

public float getCourierMoney() {

return CourierMoney;

}

public void setCourierMoney(float courierMoney) {

this.CourierMoney = courierMoney;

}

public String getCourierDate() {

return CourierDate;

}

public void setCourierDate(String courierDate) {

this.CourierDate = courierDate;

}

public int getOrderId() {

return OrderId;

}

public void setOrderId(int orderId) {

this.OrderId = orderId;

}

public String getCourierWeight() {

return CourierWeight;

}

public void setCourierWeight(String courierWeight) {

CourierWeight = courierWeight;

}

private int CourierId; //快递信息id

private String CourierTitle; //快递标题

private String CourierContent; //快递内容

private int UserId; //发布人id

private String CourierImage; //快递图片

private float CourierMoney; //快递悬赏

private String CourierDate; //快递发布日期

private int OrderId; //接单人

private String CourierWeight; //快递重量

}

请求的jsp页面相应代码

<form action="courierServlet?method=update" method="post" onsubmit="check(this)">  

<table align="center" width="450">

<tr>

<td align="center" colspan="2">

<h2>添加图书信息</h2>

<hr>

</td>

</tr>

<tr>

<td align="right">快递ID:</td>

<td><input type="text" name="courierId"></td>

</tr>

<tr>

<td align="right">title:</td>

<td><input type="text" name="courierTitle"></td>

</tr>

<tr>

<td align="right">用户ID:</td>

<td><input type="text" name="userId" /></td>

</tr>

<tr>

<td align="right">content:</td>

<td><input type="text" name="courierContent" /></td>

</tr>

<tr>

<td align="center" colspan="2"><input type="submit" value="添 加">

</td>

</tr>

</table>

</form>

下图是对应表中的相应字段
图片描述

回答:

你的book对象是空的,你可以在执行sql前打印一下book。一个空的对象,它的int属性默认是0,String属性默认是null,所以你插入的时候int可以,但String报cannot be null错误

以上是 servlet向MySQL插入数据,Int可以成功,String无法插入 的全部内容, 来源链接: utcz.com/p/174618.html

回到顶部