# JDBC 使用手册
JDBC可以允许Java访问一些关系型数据库,例如:MySQL,Oracle,SQL Server等等
# 连接MySQL
# 加载驱动
在shopping-mall-maven的开发中,没有使用到,不确定是否真的有效
try{
Class.forName("com.mysql.cj.jdbc.Driver");
} catch(ClassNotFoundException e){
e.printStackTrace();
}
# 连接数据库
要注意连接成功后的连接时长是有限制的
Connection connection = DriverManager.getConnection(url,dbUserName,dbUserPassword);
# 执行MySQL语句
# Statement (会导致SQL注入问题)
# PreparStatement
// Statement
Statement statement = connection.createStatement();
ResultSet res = statement.executeQuery(sql);
int res = statement.executeUpdate(sql);
// PreparStatement
String sql = "select * from user where id=?"; // ?用于占位
PreparStatement preparStatement connection.createPreparStatement(sql);
preparStatement.setInt(1,1); // 设置第一个占位?的值为1
ResultSet res = preparStatement.executeQuery();
int res = preparStatement.executeUpdate();
# 结果处理
# ResultSet
存放着执行完executeQuery的全部结果
# next()
是否有下一条结果,如果有就跳转到下一条结果并返回true,如果没有就返回false
# getObject(int columnIndex)
获取这一行的第columnIndex个结果
# getObject(String columnLabel)
获取这一行字段名为columnLable的结果
# getMetaData()
获取元数据
# ResultSetMetaData
元数据
# getColumnLabel(int index)
获取第index个字段的别名(如果SQL语句有取别名的话)
# getColumnName(int index)
获取第index个字段的原始名字
# 关闭资源
connection.close();
statement.close();
preparStatement.close();
# 错误处理
# SQLException
JDBC执行出现错误时抛出的异常
# getErrorCode()
获取当前错误的状态码