慢慢的发现写笔记成了一种习惯。。。。。这一切感谢黑马。。。。
跟大家分享一下我的笔记
长夜漫漫有烟相伴,感谢在我没落的时候有你。。。。(中南海)。
数据库
目前使用的都是关系型数据库
JDBC技术
主要是将Java程序与数据库键连接,并通过Java程序操作数据
JDBC是一种底层API,访问数据库时候需要 在业务逻辑中嵌入SQL语句
JDBC完成的三个工作:
1、通数据库建立连接
2、向数据库发送SQL语句。
3、处理从数据库返回的结果。
SQLServer2005 数据库驱动包sqljdbc.jar或jtds.jar
MySQL数据库驱动包 mysql-connectot-java.jar
JDBC中常用的类和接口
DriverManager类
用来管理数据库中的所有驱动程序是JDBC的管理层,作用与用户和驱动程序之间跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。
DriverManager类中的方法都是静态方法其中getConnection(url,user,password);能够获得一个Connection实例对象。
Connection 接口 利用 createStatement()方法可以创建一个Statement对象
Statement 接口用于在已经建立连接的基础上向数据库发送SQL语句,该接口用来执行静态的SQL语句。
INSERT UPDATE DELETE
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.creatStatement();
Statement 接口的常用方法
execute(sql);//执行静态的查询语句,该语句返回多个结果集
executeQuery(sql);//执行给定的SQL语句,该语句返回单个ResultSet对象。
clearBatch();//清空Statement对象的当前SQL命令列表
close();//释放Statement占用的数据库和jdbc资源
PreparedStatement接口
该接口继承Statement用于执行动态的SQL 语句 ,通过preparedStatement实例执行的SQL语句,将被预编译并保存到preparedstatement中,从而可以反复的执行
ResultSet接口
ResultSet接口类似于一张数据表,用来暂时存放数据库查询操作所获得的结果集。ResultSet实例具有只想当前数据行的指针,针开始的位置在查询结果及第一条记录的前面,
在查询结果集时,通过next()方法将指针向下移,如果存在下一行则返回true。否则false
getInt();以int形式获取次ResultSet对象的当前行中指定列值,如果值为空返回0;
getFloat();以float的形式获取此ResultSet对象的当前列支中指定列值,如列值结果为空返回0;
first();将指针移到当前记录的第一行
last();将指针移到当前记录的最后一行
updateInt();用int值更新指定列
数据库的执行步骤
1.加载数据库驱动
Class.forName(String dirverManager);要加载的数据库驱动,加载成功会降价在的驱动类注册给DRiverManager,如果加载失败会抛出异常
try{Class.forName(String dirverManager)}catch(ClassNotFoundException e){e.printStackTrace()}
2.创建连接数据库连接
Connection conn=DriverManager.getConnection(url,user,password);
3.执行SQL语句
Statement st=conn.creatStatement();
通过Statement 实例对象可以对数据库进行 修改插入和删除操作;
4.获取查询结果集
ResultSet返回的是结果集。用来存储查询的数据。一张虚拟的数据表
Resultset r=st.executeQuery(sql);
通过for(r.next()){
int id=r.getInt(1);
String name=r.getString(2);
}
取出一列的值
5.关闭连接
使用数据库之后要关闭数据库资源
|
|