JDBC接口(API)包括两个层次:
JDBC是sun公司提供一套用于数据库操作的接口,java程序员只需要面向这套接口编程即可。
不同的数据库厂商,需要针对这套接口,提供不同实现。不同的实现的集合,即为不同数据库的驱动。 ————面向接口编程
补充:ODBC(Open Database Connectivity,开放式数据库连接),是微软在Windows平台下推出的。使用者在程序中只需要调用ODBC API,由 ODBC 驱动程序将调用转换成为对特定的数据库的调用请求。
JDBC连接数据库的6个步骤:
①注册驱动
②获取连接
③创建Statement语句对象
④执行sql语句
⑤得到结果集
⑥关闭资源
java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。
配置驱动文件
①去官网下载驱动,或者CSDN搜索,有很多配置方法
先创建一个新项目,在里面创建一个目录(lib),用来放MySQL的驱动,类似于eclipse的lib目录
JDBC_1->New->Directory
②把MySQL的jar包复制过来
③把jar包添加到项目里,添加进去才能使用,类似eclipse的add to build path功能,快捷键:Ctrl+Alt+Shift+S,
或者点击:File->Project Structure->Modules,弹出图示菜单。
④再选择 Dependencies->点击+号选择第项:JARs or directories,找到之前添加的jar包,按下确定(OK)。
再按Apply,OK
加载驱动与注册驱动
加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名
注册驱动:DriverManager 类是驱动程序管理器类,负责管理驱动程序
JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。
JDBC URL的标准由三部分组成,各部分间用冒号分隔。
几种常用数据库的 JDBC URL
- jdbc:mysql://主机名称:mysql服务端口号/数据库名称?参数=值&参数=值
- jdbc:mysql://localhost:3306/test
- jdbc:mysql://localhost:3306/test**?useUnicode=true&characterEncoding=utf8**(如果JDBC程序与服务器端的字符集不一致,会导致乱码,那么可以通过参数指定服务器端的字符集)
- jdbc:mysql://localhost:3306/test?user=root&password=123456
- jdbc:oracle:thin:@主机名称:oracle服务端口号:数据库名称
" - jdbc:oracle:thin:@localhost:1521:test
- jdbc:sqlserver://主机名称:sqlserver服务端口号:DatabaseName=数据库名称
- jdbc:sqlserver://localhost:1433:DatabaseName=atguigu
有五种连接方式,在这里只看最终版
最终版:将数据库连接需要的4个基本信息生命在配置文件中,通过读取配置文件的方式,获取连接
public void testConnection5() throws Exception { //1.加载配置文件 InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties"); Properties pros = new Properties(); pros.load(is); //2.读取配置信息 String user = pros.getProperty("user"); String password = pros.getProperty("password"); String url = pros.getProperty("url"); String driverClass = pros.getProperty("driverClass"); //3.加载驱动 Class.forName(driverClass); //4.获取连接 Connection conn = DriverManager.getConnection(url,user,password); System.out.println(conn); }
这种方式的好处?
1.实现了数据与代码的分离,实现了解耦
2.如果需要修改配置文件信息,可以避免程序重新打包
其中,配置文件声明在工程的src目录下:【jdbc.properties】
user=root password=abc123 url=jdbc:mysql://localhost:3306/test driverClass=com.mysql.jdbc.Driver