标题:利用Dbutils实现往两个有关联的表新增数据的问题
取消只看楼主
会龙庄
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-4-25
结帖率:100%
已结贴  问题点数:20 回复次数:1 
利用Dbutils实现往两个有关联的表新增数据的问题
最近在编程时遇到遇到一个,在实现用户注册时,需要将用户信息存入到User表(主键UserId,自动增加,存姓名、密码),同时将主键UserId和其他该用户一起注册的信息存入到User_Message表中,两个表通过UserId进行关联。
现在的问题:不知道如何编写实现将注册信息存入到两个表中,查了很多资料都说用事务或者触发器,本人第一次做此类功能,不知道触发器或事务应该写在java文件里还是sql语句内,希望大家能够解答。下面附上源码。
Register.java(表单传过来的后台处理文件)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String username=LM.toChinese(request.getParameter("username"));
        String password=request.getParameter("password");
        String sex=LM.toChinese(request.getParameter("sex"));
        System.out.println(sex);
        String email=request.getParameter("email");
        response.setContentType("text/html;charset=utf-8");
        NowTime time=new NowTime();
        String ts=time.getDate();
        String createby=username;
        UserBean user=new UserBean();
        UserImple ui=new UserImple();
        User_Message um=new User_Message();
        
        user=ui.AddUser(username,password,email,sex,createby,ts);
        response.sendRedirect("Login.jsp");
    }
```

UserImple.java(目前是往单一表存储数据)
public UserBean AddUser(String username, String password, String email, String sex, String createby, String ts) {
        // TODO Auto-generated method stub
        try{
            QueryRunner qr=new QueryRunner(JavaUtils.getPools());
            String sql="insert into user (Username,UserPassword,Email,Sex,Create_Time,Create_By) values (?,?,?,?,?,?);";
            Object[] params={username,password,email,sex,ts,createby};
            qr.update(sql, params);
            return null;
        }catch(SQLException e){
            throw new RuntimeException("注册失败!");
        }
    }
```


请大家多指点指点,谢谢
```
```
搜索更多相关主题的帖子: String username password email new 
2019-04-25 15:00
会龙庄
Rank: 1
等 级:新手上路
帖 子:11
专家分:5
注 册:2019-4-25
得分:0 
回复 2楼 rind
sql这些我都看了,网上的关于事务或者触发器的都是直接谈核心。我重点看了关于事务的,基本的事务代码我能看到了,但是写的时候我不知道事务代码是写在String sql="事务代码"还是说类似于java方法去调用,另外事务变量@a,这个@a可不可以是一个sql语句。因为事务一般至少都会涉及两次对数据库的操作。求解答疑问,谢谢
2019-04-25 17:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494410-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.496634 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved