1 加载sql驱动:
Class.forName(DriverClassName);
public static Connection getConnection(String url,
String userName, String password); //连接认证数据库
url格式:
jdbc:suprotocol:subname 如:
jdbc:mysql://192.168.1.30:3306/extension
3 创建语句对象:
Statement stmt = connection.createStatement(); //通过连接创建语句对象
Statement 对象方法:
ResultSet executeQuery(String sql) throws SQLException; //执行sql语句并返回数据集合(常用于查询)
int executeUpdate(String sql) throws SQLException; //执行sql语句返回操作行数(常用于增删改)
PreparedStatement pstmt = connection.preparedStatement(); //预编译查询语句,可提高重复语句操作的效率
4 操作查询结果:
ResultSet rst = stmt.executeQuery(sql); //获得sql数据查询集合
ResultSet 对象方法:
boolean next(); //使cursor指向下一个记录,存在返回true,不存在返回false
XXX getXXX(String fildname); //返回对应域的对应类型数据
5 关闭数据库:
resultSet.close();
statement.close();
connection.close();
/* 以上操作为数据库关闭操作的具体步骤,但是如果其中一个发生异常退出,其后的关闭操作便无法实现。
因此需要将操作放于finally语句中。*/
java 7之后用 try-with-resource 操作可以实现数据库自动关闭。
try(Connection connection = getConnection();
PreparedStatement pstmt = connection.prepareStatement(sql);
ResultSet rst = pstmt.executeQuery()) {
while(rst.next()){
...
}
} catch (SQLException e){
...
}
6 读取元数据(metadata):
ResultSetMetaData metaData = resultSet.getMetaData(); //通过ResultSet对象获得元数据对象
ResultSetMetaData 方法:
public int getColumnCount(); //获得列数
public String getColumnName(int index); //获得列名
public int getColumnTyoe(int index); //获得列数据类型
java.sql.Types 静态final域:
ARRAY, BIFINT, BINARY, BLOB, CHAR, DATE, DECIMAL, TINYINT, VARCHAR
Class.forName(DriverClassName);
2 连接数据库:
DriverManager的静态方法:
public static Connection getConnection(String url,
String userName, String password); //连接认证数据库
url格式:
jdbc:suprotocol:subname 如:
jdbc:mysql://192.168.1.30:3306/extension
3 创建语句对象:
Statement stmt = connection.createStatement(); //通过连接创建语句对象
Statement 对象方法:
ResultSet executeQuery(String sql) throws SQLException; //执行sql语句并返回数据集合(常用于查询)
int executeUpdate(String sql) throws SQLException; //执行sql语句返回操作行数(常用于增删改)
PreparedStatement pstmt = connection.preparedStatement(); //预编译查询语句,可提高重复语句操作的效率
4 操作查询结果:
ResultSet rst = stmt.executeQuery(sql); //获得sql数据查询集合
ResultSet 对象方法:
boolean next(); //使cursor指向下一个记录,存在返回true,不存在返回false
XXX getXXX(String fildname); //返回对应域的对应类型数据
5 关闭数据库:
resultSet.close();
statement.close();
connection.close();
/* 以上操作为数据库关闭操作的具体步骤,但是如果其中一个发生异常退出,其后的关闭操作便无法实现。
因此需要将操作放于finally语句中。*/
java 7之后用 try-with-resource 操作可以实现数据库自动关闭。
try(Connection connection = getConnection();
PreparedStatement pstmt = connection.prepareStatement(sql);
ResultSet rst = pstmt.executeQuery()) {
while(rst.next()){
...
}
} catch (SQLException e){
...
}
6 读取元数据(metadata):
ResultSetMetaData metaData = resultSet.getMetaData(); //通过ResultSet对象获得元数据对象
ResultSetMetaData 方法:
public int getColumnCount(); //获得列数
public String getColumnName(int index); //获得列名
public int getColumnTyoe(int index); //获得列数据类型
java.sql.Types 静态final域:
ARRAY, BIFINT, BINARY, BLOB, CHAR, DATE, DECIMAL, TINYINT, VARCHAR