谁会做这道题,实在没办法了,求助!!

wuxinqiangua 2011-04-12 02:29:53
public void addStudent(Student student) {
String[] a=student.getName().split(",");
for (int i = 0; i < a.length; i++) {
student.setName(a[i]);
this.getHibernateTemplate().save(student);
}
}


student.getName是我从页面获取多个字符串,放到了String[] a数组里

然后往数据库里插,保存的时候,怎么只保存最后一条数据呀?

好郁闷,有没有大手帮忙的
...全文
291 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
嗯,六楼那个方法是对的!!是我本身这儿出着错呢,没想到分割的时候,有空格出现,所以一直保存的是最后一个!!!谢谢各位了!!
Lyn_0629 2011-04-12
  • 打赏
  • 举报
回复
汗上面点错,这个正解[Quote=引用 6 楼 t150ckh 的回复:]
引用楼主 wuxinqiangua 的回复:
public void addStudent(Student student) {
String[] a=student.getName().split(",");
for (int i = 0; i < a.length; i++) {
student.setName(a[i]);
this.getHibernateTemplate().s……
[/Quote]
xc280416691 2011-04-12
  • 打赏
  • 举报
回复
将你的student 在循环里实例化
Lyn_0629 2011-04-12
  • 打赏
  • 举报
回复
+1[Quote=引用 5 楼 wuxinqiangua 的回复:]
该怎么办呀,谁给个例子啥的
[/Quote]
huangshan5521 2011-04-12
  • 打赏
  • 举报
回复
http://www.zuipin.cn/lvcha/huangshanmaofeng.html
smm11230704 2011-04-12
  • 打赏
  • 举报
回复
对 hibernate 给持久化了。

你的对象必须遍历时候重新做。 重新new一个赋值吧
kString 2011-04-12
  • 打赏
  • 举报
回复
student.setName(a[i]);
student要在循环体里new 出来
qingyuan18 2011-04-12
  • 打赏
  • 举报
回复
很常见的错误,你始终操作的都只有一个student实例,当然最后保存的只有这一个实例的结果
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
快疯了,还是只插入最后一个数值,数组的长度没有错,就是插入不到数据库里


各位大手再想想办法呀
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
oh my god ,,,不对呀,还是只插入最的一个值,快疯了
leihuanhuan123 2011-04-12
  • 打赏
  • 举报
回复
public void addStudent(Student student) {
String[] a=student.getName().split(",");
for (int i = 0; i < a.length; i++) {
Student s = new Student();
s.setName(a[i]);
this.getHibernateTemplate().save(s);
}
}
这样你试试 如果不行,有可能你拿到的数据时一个
guojiangping8 2011-04-12
  • 打赏
  • 举报
回复
用事务提交是可以的,还有就是通过this.getHibernateTemplate().getSession().flush();方法吧,好像是的。
剑神一笑 2011-04-12
  • 打赏
  • 举报
回复

public void addStudent(Student student) {
String[] a=student.getName().split(",");
Student student1 = null;
for (int i = 0; i < a.length; i++) {
student1 = new Student();
student1.setName(a[i]);
this.getHibernateTemplate().save(student1);
}
}
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
怎么做呀,给写下呗,谢谢!
wusuobulun 2011-04-12
  • 打赏
  • 举报
回复
6楼正确的
创建个Student【】,长度为a的长度,每次保存Student【i】
安特矮油 2011-04-12
  • 打赏
  • 举报
回复

public void addStudent(Student student) {
String[] a=student.getName().split(",");
for (int i = 0; i < a.length; i++) {
Student s = new Student();
s.setName(a[i]);
this.getHibernateTemplate().save(s);
}
}
那你试试这个
linmarklin 2011-04-12
  • 打赏
  • 举报
回复
你的split之后
没有存到一个新数组里面
所有数值只有一条
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
11楼,我的长度值对着呢,但往数据库里插入的时候,只插入最后一条,好郁闷呀
司马喂羊 2011-04-12
  • 打赏
  • 举报
回复
你保存的是同一个对象
wuxinqiangua 2011-04-12
  • 打赏
  • 举报
回复
6楼的做法我做了,但还是不对
加载更多回复(11)

81,091

社区成员

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

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