java - 如何选择所有具有相同名称的输入插入到Mysql中?

标签 java html mysql hibernate jsp

如何将同名表单多个输入插入到Mysql中?我尝试在Mysql中插入三个相同名称的选择选项,但是提交时全部变成一列,每个questionid都有自己的分数,例如,我在mysql中有三个questionid列,每列都有自己的分数,所以它每个问题可能有三个分数列,就像这样----> enter image description here我有一个这样的问题 -----> enter image description here !!

jsp代码:

 <form id="result" role="form" class="form-inline" action="mature.htm" method="post">

 <select name="score" class="form-control input-lg">
                       <font>
                                <option value="1">○</option>
                                <option value="2">△</option>
                                <option value="3">×</option></select>
                        </font>
                <font size="5"><select name="score" class="form-control input-lg">
                                <option value="1">○</option>
                                <option value="2">△</option>
                                <option value="3">×</option></select>
                        </font>
                <font size="5"><select name="score" class="form-control input-lg">
                                <option value="1">○</option>
                                <option value="2">△</option>
                                <option value="3">×</option></select>
                        </font>

实体模型:Result.java

 @Column(name="score", length=45)
public String getScore() {
    return this.score;
}

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

这是我的 hibernate (创建)DEO:

 public void create2(Result e,Result e2)
{

    try{
         Session s=HibernateUtil.getSessionFactory().getCurrentSession();
         s.beginTransaction();
         e.setQuestionid("lokesh@mail.com");   
         s.save(e);
         s.getTransaction().commit();
         Session s2=HibernateUtil.getSessionFactory().getCurrentSession();
         s2.beginTransaction();
         e2.setQuestionid("l.com");   
         s2.save(e2);
         s2.getTransaction().commit();

    }catch(Exception ex){
        ex.printStackTrace();

    }
}

最佳答案

您的第一个错误是您的第一个选择标签应该位于字体标签内部或外部,因为您以错误的方式关闭它。其次,将整个 HTML 存储在数据库中是一种不好的做法,因为它比仅保存键和值(如果可能)消耗更多的空间。 就我而言,我是这样保存的:

{"q":[{"qid":"Do you solve the issue?","answer":{"1":"yes"}},{"qid":"what was the issue?","answer":["credit card problem"]}]}

我从类似这样的html中检索上面提到的json:

<label id="lbl1">do you solve the issue?</label>
<input type="radio" name="qid1" value="yes">Yes<br>
<input type="radio" name="qid1" value="no">No<br>

<label id="lbl1">what was the issue?</label>
<select id="qid1">
    <option value="1">credit card problem</option>
    <option value="2">dedit card problem</option>
</select>

如您所见,第一个问题仅保存一个答案,第二个问题是保存数组,该数组可以保存选择标签的多个答案。

每个用户将 5 个 select 标签保存到 html 中将比 Json 占用 100 倍的空间。根据我的计算,我保存了大约 100 万条记录,占用了大约 1 Gb 的空间

关于java - 如何选择所有具有相同名称的输入插入到Mysql中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36097781/

相关文章:

java - Netty - 如何在 DDOS 中生存?

java - 如何将S3ObjectInputStream转换为Base64 url​​?

javascript - 当元素没有默认值时计算其默认高度

java - 我可以在没有 HTTP servlet 的情况下使用 JSP 模板吗?

php - MySQL 根据之前的查询选择行

mysql - 如何仅使用MySQL获取当前wordpress用户的user_ID

java:如何停止等待很长时间的线程

php - 用于通过电子邮件发送数据的 CSS 表单不起作用

mysql - Mac 操作系统塞拉利昂 "ERROR! MySQL server PID file could not be found!"

java - 将输入从扫描仪传递到方法