C语言的初学者一个 2023-11-18 21:04 采纳率: 33.3%
浏览 5
已结题

Java向数据库插入报错

实体类
public class QuestionBean {
    /**
     * 题目id
     */
    private  int id;
    /**
     * 题干
     */
    private  String ques;
    /**
     * 选项A
     */
    private  String a;
    /**
     * 选项B
     */
    private  String b;
    /**
     * 选项C
     */
    private  String c;
    /**
     * 选项D
     */
    private  String d;
    /**
     * 答案
     */
    private  String answer;
    /**
     * 题目类型1单选题 2多选题 3判断
     */
    private int kind;
    /**
     * 知识点名称
     *
     * @return
     */
    private String knowledge_point;
    /**
     * 题目难度等级:1简单、2中等、3偏难、4较难、5非常难个等级
     */
    private int difficulty;
    /**
     * 章节
     */
    private String section;
    /**
     * 默认分数
     */
    private double score;
    /**
     * 知识点Id
     * */
    private int kno;
    /**
     * 试卷曝光率
     */
    private int exposure_rate;
    /**
     * 出题人姓名
     */
    private String userName;

    public QuestionBean(){

    }

    public QuestionBean(int i, String s, String s1, String s2, String s3, String s4, String d, int i1, String s5, int i2, String 数据库, int i3, float v, int i4, int i5, String 刘洋) {
    }


    /**
     * 重写equals方法
     */
    @Override
    public boolean equals(Object obj) {
        return this.id == ((QuestionBean) obj).id;
    }

    /**
     * 重写HashCode方法
     */
    //@Override
   // public int hashCode() {
      //  return this.id;
   // }
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getQues() {
        return ques;
    }

    public void setQues(String ques) {
        this.ques = ques;
    }

    public String getA() {
        return a;
    }

    public void setA(String a) {
        this.a = a;
    }

    public String getB() {
        return b;
    }

    public void setB(String b) {
        this.b = b;
    }

    public String getC() {
        return c;
    }

    public void setC(String c) {
        this.c = c;
    }

    public String getD() {
        return d;
    }

    public void setD(String d) {
        this.d = d;
    }

    public String getAnswer() {
        return answer;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }

    public int getKind() {
        return kind;
    }

    public void setKind(int kind) {
        this.kind = kind;
    }

    public String getKnowledge_point() {
        return knowledge_point;
    }

    public void setKnowledge_point(String knowledge_point) {
        this.knowledge_point = knowledge_point;
    }

    public int getDifficulty() {
        return difficulty;
    }

    public void setDifficulty(int difficulty) {
        this.difficulty = difficulty;
    }

    public String getSection() {
        return section;
    }

    public void setSection(String section) {
        this.section = section;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }

    public int getKno() {
        return kno;
    }

    public void setKno(int kno) {
        this.kno = kno;
    }

    public int getExposure_rate() {
        return exposure_rate;
    }

    public void setExposure_rate(int exposure_rate) {
        this.exposure_rate = exposure_rate;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String toString() {
        return "QuestionBean{" +
                "id=" + id +
                ", ques='" + ques + '\'' +
                ", a='" + a + '\'' +
                ", b='" + b + '\'' +
                ", c='" + c + '\'' +
                ", d='" + d + '\'' +
                ", answer='" + answer + '\'' +
                ", kind=" + kind +
                ", knowledge_point='" + knowledge_point + '\'' +
                ", difficulty=" + difficulty +
                ", section='" + section + '\'' +
                ", score=" + score +
                ", kno=" + kno +
                ", exposure_rate=" + exposure_rate +
                ", userName='" + userName + '\'' +
                '}';
    }
}

insertQuestion函数
public static boolean insertQuestion(QuestionBean questionBean){
        boolean flag = false;
        try {
            String sql = "insert into question(id,ques,a,b,c,d,answer,kind,knowledge_point,difficulty,section,score,exposure_rate,userName) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            //给SQL中的参数赋值
            Object[] params = {questionBean.getId(),questionBean.getQues(),questionBean.getA(),questionBean.getB(),questionBean.getC(),questionBean.getD(),questionBean.getAnswer(),questionBean.getKind(),questionBean.getKnowledge_point(),questionBean.getDifficulty(),questionBean.getSection(),questionBean.getScore(),questionBean.getExposure_rate(),questionBean.getUserName()};
            QueryRunner queryRunner = new QueryRunner(DruidUtils.getDataSource());
            int i = queryRunner.update(sql, params);
            flag=i>0;
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return flag;
    }
测试代码
@Test
    public void Test1(){
       boolean flag=false;
        QuestionBean questionBean=new QuestionBean(100,"100+2=?","2","3","6","102","d",2,"2",4,"数据库",2,0.8f,7,5,"刘洋");
        flag= QuestionDAO.insertQuestion(questionBean);
        if(flag)
            System.out.println("插入成功");
        else
            System.out.println("插入失败");
    }

错误:java.sql.SQLException: Column 'ques' cannot be null Query: insert into question(id,ques,a,b,c,d,answer,kind,knowledge_point,difficulty,section,score,exposure_rate,userName) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?) Parameters: [0, null, null, null, null, null, null, 0, null, 0, null, 0.0, 0, null]
为什么会报错呀

  • 写回答

1条回答 默认 最新

  • 关注
    
        public QuestionBean(int i, String s, String s1, String s2, String s3, String s4, String d, int i1, String s5, int i2, String 数据库, int i3, float v, int i4, int i5, String 刘洋) {
        }
     
    

    你这个构造方法的方法体是空的,没有给属性赋值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月18日

悬赏问题

  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出