struts学习笔记—Action实例:保存用户信息到数据库(2)
2013-08-10 17:04
323 查看
续struts学习笔记—Action实例:保存用户信息到数据库(1),这篇文章介绍personDAO代码,也就是保存我们用户信息的方法。
另外,用到了iterator接口遍历集合元素,这里我详细介绍下iterator接口:
Iterator接口定义了三个方法:
1.boolean hasNext():如果被迭代的集合元素还没有被遍历,返回true。
2.Object next():返回集合里的下一个元素。
3.void remove():删除集合里上一个next方法返回的元素。
上面就是对Person类里的List对象hobby进行遍历。
public class PersonDAO { public void addPerson(Connection conn, Person person) throws SQLException{ // TODO Auto-generated method stub String personSQL="insert into tb_person"+"(account,name,birthday,secret,create_date)" + "values (?,?,?,?,?)"; String hobbySQL="insert into tb_hobby"+"(person_id,hobby) values (?,?)"; PreparedStatement preStmt=null; ResultSet rs=null; try{ conn.setAutoCommit(false); preStmt=conn.prepareStatement(personSQL); int index=1; preStmt.setString(index++, person.getAccount()); preStmt.setString(index++, person.getName()); preStmt.setDate(index++, person.getBirthday()); preStmt.setBoolean(index++, person.isSecret()); preStmt.setTimestamp(index++, person.getCreateDate()); preStmt.executeUpdate(); rs=preStmt.getGeneratedKeys();//获取自动插入的id值 rs.next(); int personId=rs.getInt(1); preStmt=conn.prepareStatement(hobbySQL); //对Person类里的List对象hobby进行遍历 for(Iterator<String> iterator=person.getHobby().iterator(); iterator.hasNext();){ preStmt.setInt(1,personId); preStmt.setString(2, iterator.next()); preStmt.addBatch(); } preStmt.executeBatch(); conn.commit(); }finally{ if (rs != null) rs.close(); if (preStmt != null) preStmt.close(); if (conn != null) conn.close(); } } }其中,java.sql.Statement.getGenerateKeys()方法作用是获取Statement对象执行后生成的键值value,如果没有生成,则返回空的ResultSet对象。
另外,用到了iterator接口遍历集合元素,这里我详细介绍下iterator接口:
Iterator接口定义了三个方法:
1.boolean hasNext():如果被迭代的集合元素还没有被遍历,返回true。
2.Object next():返回集合里的下一个元素。
3.void remove():删除集合里上一个next方法返回的元素。
上面就是对Person类里的List对象hobby进行遍历。
相关文章推荐
- struts学习笔记—Action实例:保存用户信息到数据库(1)
- 通过cookie保存并读取用户登录信息实例
- vs2010asp.net网站制作用户注册登录界面源代码(包含验证码)并把用户信息保存到数据库sql2008
- 通过cookie保存并读取用户登录信息实例
- Oracle - 启动、关闭、查看实例、用户解锁、连接数量、数据库信息、命令行显示设置
- 安卓app怎么让用户注册的信息保存到数据库
- POI读取Excel数据保存到数据库,并反馈给用户处理信息
- 使用数据库保存Asterisk sip账号信息(odbc方式)
- Devexpress报表开发:实例数据库信息
- JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例
- Cocos2d-x保存用户游戏数据CCUserDefault类使用实例
- 将已经被导出的dmp文件导入到某个数据库实例下某个方案(用户)中
- 客户端保存用户登陆信息
- DHTML技术---前端用户提交信息验证和表单提交控制+完整表单验证代码实例
- 利用html5的本地存储功能实现登录用户信息保存
- 登录时保存用户信息 --- NSUserDefaults的简单使用
- Javaweb中的文件批量上传,并将文件路径等信息保存到数据库中
- 显示当前用户所拥有的表&当前用户可以访问的所有表&数据库中的所有表&当前用户信息&当前用户所能管理的用户&数据库中所拥有的用户
- sql server中利用sql语句如何创建角色和用户&数据库安全设置 给出了实例
- Delphi对保存数据库连接信息的Ini文件的操作类