一:jdbc全称:java数据库连接,是为了解决操作不同数据库需要使用不同的数据库驱动的问题,jdbc提供了一套接口为应用程序提供统一的接口,它由两个包组成,java.sql,javax.sql。还需要相对应的数据库驱动。
二:jdbc开发一般步骤
1:导入数据库驱动mysql-connector-java-5.0.8-bin.jar,并且添加到编译路径中
2:数据库驱动加载DriverManager.regesterDriver(new com.mysql.jdbc.Driver());
3:获取数据库的连接Connection con = DriverManager.getConnection(url,name,password);
4:创建用于与数据库发送sql语句的statement对象,Statement st = con.createStatement();
5:定义代表执行结果的对象resultset,ResultSet rs = st.executeQuery(sql);
6:释放所有资源,以上三个对象,释放资源的代码必须放在finally中。
注意:在导包的过程中,由于在mysql.jdbc中和java.sql中都有这些Connection,Statment,ResultSet的定义,这些必须导入java.sql中的,因为java.sql中的是接口的定义,然后使其指向mysql中的实现。
三:一般不使用DriverManager注册,而是使用Class.forName(路径)加载数据库驱动,因为前者会导致driver对象在内存中两个。
四:数据库url写法
jdbc:mysql://localhost:3306/test?参数名:参数值
五:Connection对象,可以创建向数据库发送sql的statment对象,也可以发送预编译的sql,prepareStatement(sql),
六:类型转换表
七:为了确保一些重要代码执行,比如在上面创建的connection对象的释放,需要放在try catch 的finally中,但是如果try中有system.out(1)使得虚拟机退出,就不会执行。
八:程序异常的处理思路,如果上层程序不能处理这个异常,就抛运行时异常,如果开发人员想把异常当成一个返回的话,就抛编译时异常。如果用try catch包围,而且不抛给java虚拟机,则java虚拟机会继续执行下面的代码。
九:因为sql的连接是非常稀有的,所以必须用完就释放,正确的释放方式是
ResultSet rs,
Statement st,
Connection cn
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(cn!=null){
try {
cn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
本文介绍了Java数据库连接(JDBC)的基本概念及开发步骤,包括如何通过JDBC进行数据库连接、执行SQL语句等关键操作。


被折叠的 条评论
为什么被折叠?



