操作数据库:mysql
操作目的:通过JDBC在数据库中查询某表的所有数据记录。
在查询记录之前,我们还是先看下当前的表记录,如下图所示:
方法一:通过名称方式查询数据记录
JDBC通过名称方式查询数据记录的核心代码如下:
String jdbcURL = "jdbc:mysql://localhost:3306/codingwhy?useUnicode=true&characterEncoding=utf-8"; String jdbcUser = "root"; String jdbcPassword = ""; Class.forName("com.mysql.jdbc.Driver",2); Connection conn = DriverManager.getConnection(jdbcURL,jdbcUser,jdbcPassword,2); Statement stmt = conn.createStatement(,2); //JDBC查询数据 String selectTableSql = "select * from t_user"; ResultSet rs = stmt.executeQuery(selectTableSql,2); while(rs.next()){ int id = rs.getInt("id",2); String name = rs.getString("name",2); System.out.println("ID:"+id+"\t姓名:"+name,2); }
方法二:通过索引方式查询数据记录
JDBC通过索引方式查询数据记录的部分代码如下,连接JDBC等代码就省略的,可以参考JDBC通过索引方式查询数据记录的部分代码
//JDBC查询数据 String selectTableSql = "select * from t_user"; ResultSet rs = stmt.executeQuery(selectTableSql,2); while(rs.next()){ int id = rs.getInt(1,2); String name = rs.getString(2,2); System.out.println("ID:"+id+"\t姓名:"+name,2); }
在上例中,参数“1”即代表结果集中的第一列,参数“2”即代表结果集中的第二列。列是按照从左到右的顺序排列的,第一列的序号是1而不是0。
需要说明的是,在实际开发中,有时候一个SQL查询语句可能获得包含同一个数据列名的多个数据列的结果集。即存在同名列,如果通过数据列名的方式获取值,则返回第一个匹配的数据列名对应的数值,因此如果结果集中存在多个同名的数据列,则需要使用序号来区别他们