JDBC操作步骤
第一步:添加jar包
第二步:加载驱动
反射的方式加载数据库驱动:
Class.forName("com.mysql.jdbc.Driver");
第三步:建立连接
Connection connection = DriverManager.getConnection("jdbc:mysql://数据库地址:端口号/数据库名", "用户名", "密码");
示例代码如下:
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test0221", "root", "root");
第四步:创建statement
Statement statement = connection.createStatement();
第五步:执行SQL语句
String sql = "select * from student";
ResultSet resultSet = statement.executeQuery(sql);
第六步:处理结果
while (resultSet.next()){
int id = resultSet.getInt("studentid");
String name = resultSet.getString("studentname");
Student student = new Student(id, name);
System.out.println(student);
}
第七步:关闭资源
connection.close();
statement.close();
resultSet.close();
利用java.sql.Statement执行SQL语句,其常用方法如下:
execute(String sql )
该方法可以执行任意SQL语句。当且仅当执行select语句且有返回结果时该方法返回true, 其他情况下该方法返回false
executeUpdate(String sql )
该方法常用于执行DML( INSERT、UPDATE或DELETE)和DDL语句。执行DML语句时返回受SQL语句影响的行数,执行DDL语句时返回0
executeQuery( String sql)
该方法通常执行査询语句,执行后返回代表结果集的ResultSet对象
ResultSet常见方法释义如下:
boolean next()
将游标从当前位置向下移动一行
boolean previous()
将游标从当前位置向上移动一行
void afterLast()
将光标移动到末尾,正好位于最后一行之后
void beforeFirst()
将光标移动到开头,正好位于第一行之前
Object getObject(int columnIndex)
根据序号取值,索引从1开始
Object getObject(String ColomnName);
根据列名取值
int getInt(int colIndex)
以int形式获取ResultSet结果集当前行指定列号值
int getInt(String colLabel)
以int形式获取ResultSet结果集当前行指定列名值
float getFloat(int colIndex)
以float形式获取ResultSet结果集当前行指定列号值
float getFloat(String colLabel)
以float形式获取ResultSet结果集当前行指定列名值
String getString(int colIndex)
以String形式获取ResultSet结果集当前行指定列号值
String getString(String colLabel)
以String形式获取ResultSet结果集当前行指定列名值
Date getDate(int columnIndex)
以Date形式获取ResultSet结果集当前行指定列号值
Date getDate(String columnName)
以Date形式获取ResultSet结果集当前行指定列号值
void close()
关闭ResultSet对象