Java复习笔记16【JDBC更新与查询】

来源:互联网 发布:怎么优化数据库 编辑:程序博客网 时间:2024/05/09 19:57
package com.lesson12.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/* * 了解JDBC更新与查询 * *//* * 总结: * 1.结果集:ResultSet res=stmt.executeQuery(sql) * 结果集是一种存储数据的类型,可抽象成一张表,只能逐行进行操作 * 2.Statement接口执行sql语句的方法: * (1)int rows=stmt.executeUpdate(sql); * (2)ResultSet res=stmt.executeQuery(sql); * 3.ResultSet常用方法: * (1)boolean has=res.next()获取下一行记录 * (2)XXXX values=rs.getXXXX("字段名")  * 获取结果集中某字段的值(XXX表示字段的类型) * */public class Query {public static void main(String args[]){String url = null;String user = null;String password = null;Connection conn = null;Statement stmt = null;try{//1.加载驱动Class.forName("com.mysql.jdbc.Driver");//2.创建连接对象url = "jdbc:mysql://localhost:3308/test";conn = DriverManager.getConnection(url,"root","mysql");//3.创建语句对象stmt = conn.createStatement();//4.执行语句:Statement接口提供了多种执行SQL语句的方法(以下只介绍两种)/* * 方法:public int executeUpdate(String sql) * 对象:Statement * 功能:执行sql更新语句,执行数据库的增加、删除和修改操作 * 参数:String sql 更新语句,如insert、update、delete等 * 返回值:int 被影响的行数,即数据库中被更新的记录数 * */String insertSql = "insert into student values (5,'孙三',21)";int rows = stmt.executeUpdate(insertSql);System.out.println("被影响的行数是" + rows);/* * 方法:ResultSet executeQuery(String sql) * 对象:Statement * 功能:执行sql查询语句,得到查询结果集合 * 参数:String sql select查询语句 * 返回值:ResultSet 查询结果集合 * */String selectSql = "select * from student";ResultSet res = stmt.executeQuery(selectSql);//ResultSet作为一种类型,用于存储数据库中的记录的集合,只能逐行操作System.out.println("查询结果是"+res);//查询结果是com.mysql.jdbc.ResultSet@1bab2a6/* * 读取查询后结果集中记录的具体内容(先获取行,再获取列,即可得单元格内容) * --------------------------------------- * 方法:boolean next() * 对象:ResultSet * 功能:用于获取结果集的下一行(下一个记录) * 参数:无 * 返回值:boolean  表示是否能够获取到记录 * 【注意】 * 在得到查询结果集res之后,在要查询第一行结果之前,必须先使用rs.next(), * 因为查询结果集时,res默认不指向结果集第一行,而是第一行之前(默认before  * the first row),如果结果集为空集,没有第一行 * ---------------------------------------- * 方法:XXXX getXXXX(String columnName) * 对象:ResultSet * 功能:获取某行记录中的指定字段(即获取列的内容) * 参数:String columnName 字段名 * 返回值:XXXX 字段的内容 * */ while(res.next()){ //每次next()一次,将获取下一条记录 //根据字段名获取字段值 int Sno = res.getInt("Sno"); String Sname = res.getString("Sname"); int age = res.getInt("age"); System.out.println("获取到记录:Sno="+Sno+";Sname="+Sname+";age="+age); }}catch(Exception e){e.printStackTrace();}}}

0 0
原创粉丝点击