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

 mobiledu2502852625 发布于 2022-10-26 18:55

下面是报出的错误,百度之后我已经删除了对应表的外键和约束,重启了服务器,还是无法插入。
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页面相应代码

添加图书信息


快递ID:
title:
用户ID:
content:

下图是对应表中的相应字段

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

    2022-10-27 01:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有