如何在jsp页面实现多表插入

一个页面上有三个表的数据,要实现一起提交插入数据库,表1的aid是自动生成的,所以不需要输入,插入就会有,但是这个id是表2的外键,插入表2的时候这个id不就是空嘛,我想... 一个页面上有三个表的数据,要实现一起提交插入数据库,表1的aid是自动生成的,所以不需要输入,插入就会有,但是这个id是表2的外键,插入表2的时候这个id不就是空嘛,我想是怎么在一起提交的时候让表2在数据库里也有这个id,表3跟表2也是这种关系,表3需要表2的自动增长的主键bid。
我用的是sql server2008.框架是ibatis
展开
 我来答
程序那点事
推荐于2017-07-29 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1332万
展开全部
你下面那些代码是用的存储过程写的 这样也可以写
但是还是有一种方法
你可以写不同的dao 比如表一、表二、表三分别对应不同的dao
然后所有的业务逻辑写在一个业务方法里面 这样的好处是事务统一处理,做到数据能一致
先插入表一数据 ,
表一实体 bean1 = new 表一实体();
dao1.insert(bean1);
表二实体 bean2= new 表二实体();
bean2.setId(bean1.getId());
dao2.insert(bean2);
表三类似
其实iBATIs有个特性 你插入成功以后 会给你实体的主键赋值的
所以 在下面的代码 可以拿到这个id 很简单的 不知道你懂了没有 不懂再问
更多追问追答
追问
先谢谢您,iBATIs是需要自己写SQL语句的,因为A表会自动生成一个自动增长的a_id,然后B表插入,会自动生成一个自动增长的b_id,但是B表会有个外键叫a_id,就是A表的那个a_id。因为我觉得A的a_id只有插入表里才会,所以页面上A和B表都没有那个a_id,所以B表插入的时候是怎么获取那个a_id的,我纠结在于这个。
追答
说了啊 插入b数据的时候 通过a实体 可以获取a的id a插入后 会分配一个id 会给实体id赋值
Send_Tears
2014-09-20 · 超过68用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:50%
帮助的人:66万
展开全部
提交的时候在生成表1后获取表1的对应行的aid列的数据,然后再插入到表2中,表3同上!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-09-20
展开全部
有先后顺序就好了啊
更多追问追答
追问
begin tran yy
insert into 表1 values (表1数据)
insert into 表2 values (表2数据,@@IDENTITY)
commit tran yy
有人给我写了个例子,这样可以吗?具体该怎么写?
追答
哦  按顺序插入 需要什么先插入什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式