Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作

          在Java中对Oracle数据库的操作分为两种:一、查询。二、非查询。

    下面是我对其进行总结:

      一、查询数据

  /**	 * 根据用户代码查询
	 * @param userId
	 * @return 如果存在返回User 如果不存在则返回Null
	 */
public User findUserById(String userId){
		      //sql语句
	              String sql="select user_id,user_name,password,contact_tel,email,create_date from t_user where user_id=?";
			//创建Connection对象
			Connection conn=null;
		      //创建PreparedStatement对象
			PreparedStatement pstmt=null;
			//创建ResultSet对象
			ResultSet rs=null;
			User user=null;
					
			try{
			    conn=DbUtil.getConnection();
			    //创建包含带参数占位符的 SQL 语句的 PreparedStatement 对象:
			     pstmt=conn.prepareStatement(sql);
			    //给每一个参数传值
			     pstmt.setString(1, userId);
			    //执行查询语句
			     rs=pstmt.executeQuery();
			    //取出数据
			     if(rs.next()){
				      user=new User();
					user.setUserId(rs.getString("user_id"));
					user.setUserName(rs.getString("user_name"));
					user.setPassword(rs.getString("password"));
					user.setContactTel(rs.getString("contact_tel"));
					user.setEmail(rs.getString("email"));
					user.setCreateDate(rs.getTimestamp("create_date"));
						}
			}catch(SQLException e){
				e.printStackTrace();
			}finally{
				DbUtil.close(rs);
				DbUtil.close(pstmt);
				DbUtil.close(conn);
				}
				return user;
			}

      二、非查询的操作(增、删、改)

public void addUser(User user){
	//SQL语句
	String sql= "insert into t_user (user_id, user_name, password, contact_tel, email, create_date) " +" values (?, ?, ?, ?, ?, ?)";
	//定义数据库连接
	Connection conn=null;
	//定义一个PreparedStatement对象
	PreparedStatement pstmt=null;
	try{
		
		conn=DbUtil.getConnection();
		//创建包含带参数占位符的 SQL 语句的 PreparedStatement 对象:
		pstmt=conn.prepareStatement(sql);
		//给每一个参数传值
		pstmt.setString(1, user.getUserId());
		pstmt.setString(2, user.getUserName());
		pstmt.setString(3,user.getPassword());
		pstmt.setString(4,user.getContactTel());
		pstmt.setString(5,user.getEmail());
		pstmt.setTimestamp(6, new Timestamp(new Date().getTime()));
		//执行语句
		pstmt.executeUpdate();
	}catch(SQLException e){
		e.printStackTrace();
	}finally{
		DbUtil.close(pstmt);
		DbUtil.close(conn);
	}
}  



 

 

posted @ 2013-08-15 20:18  夏至冬末  阅读(200)  评论(0编辑  收藏  举报