插入数据时显示jdbc不能批量更新??

qq_40040734 2017-12-15 09:51:10
@Test
public void TestSid(){
Students s = new Students();
s.setSname("张");
s.setGender("男");
s.setBirthday(new Date());
s.setAddress("河南省");
StudentDao sd = new StudentDaoImpl();
Assert.assertEquals(true, sd.addStu(s));
}


Transaction transaction= null;
List<Students> list = null;
String sql = null;
Session session = MySessionFactory.getSession().openSession();
public Boolean addStu(Students s) {
s.setSid(getNewSid());

transaction = session.beginTransaction();
session.save(s);
transaction.commit();
return true;
}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
'-//Hibernate/Hibernate Mapping DTD 3.0//EN'
'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>
<hibernate-mapping>
<class name="cn.itcast.domain.Students" table="students">
<id name="sid" column="sid" length="8">
<generator class="assigned" ></generator>
</id>
<property name="sname" type="java.lang.String"/>
<property name="gender" type="java.lang.String"/>
<property name="birthday" type="date"/>
<property name="address" type="java.lang.String"/>
</class>
</hibernate-mapping>



<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql://localhost:3306/student</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">update</property>

<mapping resource="cn/itcast/domain/Students.hbm.xml"/>
<mapping resource="cn/itcast/domain/User.hbm.xml"/>
</session-factory>



虽说在hibernate中把update改为create可以运行成功,但是我要的是插入数据,不是每次执行时都要重新创建表,这样以前插入的数据都没有了,更新的情况要怎样修改呢

报错信息:Could not execte JDBC batch update.

...全文
294 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xvio110 2017-12-16
  • 打赏
  • 举报
回复
你的错误信息不全吧,你是主键冲突造成的Could not execute JDBC batch update吧。assigned是自定义主键ID的,你每次的sid都是相同的吧。
  • 打赏
  • 举报
回复
http://blog.csdn.net/shuaiwang/article/details/1774764 参考以下以上文章,是不是也是这个原因。。。。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧