利用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("注册失败!");
}
}
```
请大家多指点指点,谢谢
```
```