JDBC笔记:
JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。
JDBC与数据库驱动的关系:接口与实现的关系。
JDBC规范(掌握四个核心对象):
DriverManager:用于注册驱动(驱动管理)
Connection: 表示与数据库创建的连接(连接,关系)
Statement: 操作数据库sql语句的对象(声明,陈述,清单报表)
ResultSet: 结果集或一张虚拟表(结果集合)
DriverManager(类):
DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用
原因有2个:
> 导致驱动被注册2次。
> 强烈依赖数据库的驱动jar
Class.forName("com.mysql.jdbc.Driver");
getConnection(url, user, password);
Connection(接口):
Statement createStatement(); //创建操作sql语句的对象
ps = conn.prepareStatement("select * from user where name=?");
ps.setString(1,"tom");
Statement(接口):
ResultSet executeQuery(String sql) 只能执行select语句。
int executeUpdate(String sql) 能执行insert update delete语句。(返回受影响的行数)
boolean execute(String sql) 此方法可以执行任意sql语句。(返回是否返回 ResultSet)
ResultSet(接口):
boolean next() 将光标从当前位置向下移动一行
boolean previous() 将光标从当前位置向上移动一行
boolean absolute(int row) ; void afterLast() ; void beforeFirst()
int getInt(int colIndex) 根据游标查找, 游标从1开始
int getInt(String colLabel) 根据列名查找
float getFloat() :参数同上
double getDouble() : 参数同上
String getString() :参数同上
Date getDate() :参数同上
void close() 关闭ResultSet 对象
preparedStatement:
预编译对象
性能高
会将sql语句预先编译
sql语句中的参数会发生变化,会过滤掉用户输入的关键字。