Java 在Spring MVC中将复选框值插入数据库

Java 在Spring MVC中将复选框值插入数据库,java,spring,hibernate,spring-mvc,Java,Spring,Hibernate,Spring Mvc,我试图学习如何使用SpringMVC和Hibernate构建应用程序。目前,我一直坚持在MySQL数据库中插入复选框值 我的数据库表结构如下所示: id name interest id name interest 1 Steve PHP 2 Steve Java 3 Wuagh C# 4 Wuagh PHP 当我填写表格并点击提交时,我收到以下错误消息: 根本原因 java.sql.SQLException

我试图学习如何使用SpringMVC和Hibernate构建应用程序。目前,我一直坚持在MySQL数据库中插入复选框值

我的数据库表结构如下所示:

 id    name    interest
 id    name    interest
 1    Steve    PHP
 2    Steve    Java
 3    Wuagh    C#
 4    Wuagh    PHP
当我填写表格并点击提交时,我收到以下错误消息:

根本原因

java.sql.SQLException:第1行“兴趣”列的字符串值不正确:“\xAC\xED\x00\x05ur…” com.mysql.jdbc.SQLError.createSQLExceptionSQLError.java:1084 com.mysql.jdbc.MysqlIO.checkErrorPacketMysqlIO.java:4232

我正在尝试在我的表中插入值,以便插入后如下所示:

 id    name    interest
 id    name    interest
 1    Steve    PHP
 2    Steve    Java
 3    Wuagh    C#
 4    Wuagh    PHP
你能告诉我如何做到这一点吗?如果可能的话,你能告诉我怎样才能做到这一点吗

id    name    interest
 1    Steve    PHP, Java
 2    Wuagh    C#, PHP
请看下面我的代码

我的表格:

<c:url var="action" value="/register" ></c:url>
<form:form action="${action}" modelAttribute="subscriber" method="POST" >

    <div>
    <label>Name</label>
    <form:input path="name"/>
    <form:errors path="name" cssClass="error"/> 
    </div>

    <div>
    <label>Interests</label>
    <form:checkboxes path="interest" items="${records.interests}"/>     
    </div>  

    <input type="submit" value="Submit">
</form:form>
订阅服务实现:

@Service
public class SubscriberServiceImpl  implements SubscriberService{

 @Autowired 
 private SubscriberDao subsDao ;

 @Override
 public void addSubscriber(Subscriber subscriber) {

    subsDao.addSubscriber(subscriber);

 }
}
@Repository
public class SubscriberDaoImpl implements SubscriberDao {


 @Autowired
 private SessionFactory sessionFactory ;

 public SessionFactory getSessionFactory() {
    return sessionFactory;
 }

 public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
 }

 @Override
 public void addSubscriber(Subscriber subscriber) {

    getSessionFactory().openSession().save(subscriber);     

 }
}
订阅DAO实现:

@Service
public class SubscriberServiceImpl  implements SubscriberService{

 @Autowired 
 private SubscriberDao subsDao ;

 @Override
 public void addSubscriber(Subscriber subscriber) {

    subsDao.addSubscriber(subscriber);

 }
}
@Repository
public class SubscriberDaoImpl implements SubscriberDao {


 @Autowired
 private SessionFactory sessionFactory ;

 public SessionFactory getSessionFactory() {
    return sessionFactory;
 }

 public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
 }

 @Override
 public void addSubscriber(Subscriber subscriber) {

    getSessionFactory().openSession().save(subscriber);     

 }
}
链接应该对您有所帮助,同时也有帮助


这是一个数据绑定问题,表单将以字符串形式返回值,而不是最初的任何类型。

您需要为OP提供正确答案,以便将复选框值插入DB,而不是一些用于验证的链接。