1、JDBC(Java数据库连接)
1)导jar包:驱动!
2)加载驱动类:Class.forName(“类名”);
3)给出url、username、password,
4)使用DriverManager类来得到Connection对象!
2、JDBC核心类(接口)介绍
JDBC中的核心类有:DriverManager、Connection、Statement,和ResultSet!
1)DriverManger(驱动管理器)
注册驱动:这可以让JDBC知道要使用的是哪个驱动;
2)Connection对象表示连接,与数据库通讯:获取到Connection,则数据库连接成功
Connection对象用来获取Statement对象;
3)Statement:SQL语句发射器
void executeUpdate(String sql):执行更新操作(insert、update、delete等);
ResultSet executeQuery(String sql):执行查询操作,返回值为ResultSet;
4)ResultSet:表的结果集对象。
1)Connection
//获取Statement:
Statement stmt = con.createStatement();
2)Statement
方法:
//执行更新操作
int executeUpdate(String sql):即执行insert、update、delete等语句。
//执行查询操作,
ResultSet executeQuery(String sql):执行查询操作会返回ResultSet,即结果集。
//执行增、删、改、查所有SQL语句。
boolean execute() :boolean类型,表示SQL语句是否有结果集!
//使用execute()方法执行的是更新语句,
还需调用int getUpdateCount()来获取insert、update、delete语句所影响的行数。
//使用execute()方法执行的是查询语句,
还需调用ResultSet getResultSet()来获取select语句的查询结果。
3)ResultSet对象表示结果集
结果集:一个二维的表格,有行有列。
ResultSet内部的含有“行光标”。用来指示当前被操作的行
方法:
boolean next():使“行光标”移动到下一行,并返回移动后的行是否存在;
XXX getXXX(int col):获取当前行指定列上的值
参数就是列数,列数从1开始,而不是0。
3.1)ResultSet滚动结果集:移动”行光标”
获取结果集元数据
得到元数据: .getMetaData(). 返回值为RsultSetMetaData
方法:
getColumnCount(); 得到结果集列数
getColumnName(int colindex); 获取指定的列名称
结果集特性:
是否可滚动
是否敏感 -- 结果集数据是否跟随数据库而变化
是否可更新
需要在connection创建statement时,确定特性
Statement stmt = con.createStatement(int,int);
第一个参数:
ResultSet.TYPE_FORWARD_ONLY:不滚动结果集;
ResultSet.TYPE_SCROLL_INSENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;
ResultSet.TYPE_SCROLL_SENSITIVE:滚动结果集,但结果集数据不会再跟随数据库而变化;
第二个参数:
CONCUR_READ_ONLY:结果集是只读的,不能通过修改结果集而反向影响数据库;
CONCUR_UPDATABLE:结果集是可更新的,对结果集的更