JDBC全称是Java DataBase Connectivity,即数据库连接,提供数据库的统一访问,是一组用java编写的类和接口,是java访问数据库的标准规范,可以说是用于执行SQL语句的Java API。我们编写了程序,如何操作数据库呢,这里就不得不用JDBC。
【JDBC的原理】
JDBC是接口,驱动是接口的实现,提供访问数据库规范,生产厂商提供规范的实现类称为驱动。没有驱动将无法完成数据库连接,从而不能操作数据库!每个数据库厂商都需要提供自己的驱动,用来连接自己公司的数据库,也就是说驱动一般都由数据库生成厂商提供。例如MySQL数据库和Oracle数据库提供了驱动,我们就可以通过JDBC来连接相应的数据库了。
【JDBC开发步骤】
- 注册驱动.
- 获得连接.
- 获得语句执行平台.
- 执行sql语句.
- 处理结果.
- 释放资源.
【JDBCUtils工具类】
“获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils。提供获取连接对象的方法,从而达到代码的重复利用。
public class JDBCUtil {
private JDBCUtil(){}//构造方法私有不能new创建对象
private static String driverClass;
private static String url;
private static String username;
private static String password;
private static Connection con;
static {
try{
getDatabase();
Class.forName(driverClass);
con=DriverManager.getConnection(url, username, password);
}catch(Exception ex){
throw new RuntimeException(ex.getMessage()+"数据库链接失败");
}
}
private static void getDatabase() throws IOException, SQLException{
InputStream in = JDBCUtil.class.getClassLoader().getResourceAsStream("database.properties");
Properties pro=new Properties();
pro.load(in);
in.close();
driverClass=pro.getProperty("driverClass");
url=pro.getProperty("url");
username=pro.getProperty("username");
password=pro.getProperty("password");
}
public static Connection getConnection(){
return con;
}
public static void close(Connection con,Statement state,ResultSet rs){
if(con!=null){
try{
con.close();
}catch(Exception ex){
System.out.println(ex);
}
}
if(state!=null){
try{
state.close();
}catch(Exception ex){
System.out.println(ex);
}
}
if(rs!=null){
try{
rs.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}
}
【小结】
JDBC给我们提供了程序访问数据库的接口,是程序和数据库交流的桥梁。它提供了访问的共有方法,如果想更加方便的操作数据,还有DBUtils工具类和DBCP连接池,能更加简洁访问数据库。当然也是需要借助第三方jar包的,下一篇博客将详细介绍更加简便的操作数据库返回值的处理。