java底层代码jdbc,sql 部分,随堂笔记1

2021-04-09 11:35:18 浏览数 (1)

代码语言:javascript复制
//1.PreparedStatement pstmt
//2.PreparedStatement pstmt = con.prepareStatement(sql)
	//插入sql语句的方法,使用的是connection(con)中的prepareStatment方法
//3.ResultSet rs = pstmt.executeQuery()
	//获取使用sql语句后查询到的结果集,用rs接收 ,使用的是PreparStatement(pstmt)中的executQuery方法
//4.pstmt.setString(1, myUser.getUserName());
	//pstmt.setString(parameterIndex, x);
	//设置参数,1指的是第一列,x指的是要插入的参数

//5.sql 后的ResultSet.TYPE_*

@Override
	public Set<MyUser> getAllUser() {
		Set<MyUser> set = null;
		try (PreparedStatement pstmt = con.prepareStatement("SELECT userId,userName,password from myuser",
		ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)) {
			set = new HashSet<>();
			/*ResultSet.CONCUR_READ_ONLY为只读类型,
			ResultSet.TYPE_FORWARD_ONLY表示上述类型的属性,此处为向前只读
			此种方法效率较高,比如,一共三百个字节,每次读100个,读完前100之后,
			删除掉再继续读中间100个*/
		try (ResultSet rs = pstmt.executeQuery()) {
				while (rs.next()) {
					

					set.add(new MyUser().userName(rs.getString("userName")).userid(rs.getLong("userId"))
							.password(rs.getString("password")));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

		} catch (SQLException e) {
			e.printStackTrace();
		}

		return set;
	}

0 人点赞