JDBC,JDBC允许Java
JDBC,JDBC允许Java
JDBC
JDBC,Java Database Connectivity java语言连接数据库,其是用来规范客户端如何访问数据库的应用程序接口。
JDBC允许Java程序连接各种类型的数据库,并且可以用Java语言对数据库执行SQL操作。
其所有关联的类库都在java.sql.*
包下。JDBC是sun公司的一套接口,不管是MySQL还是oracle,JDBC都是用同一个连口去连接
Driver驱动
Driver
驱动是每个数据库公司或机构根据java
的规范针对自己的数据库开发的一套接口。
每个数据库对应不同的driver驱动,需要开发者到官网下载并添加到开发环境中。
MySQL
在MySQL 5.0之前driver驱动的全限定类名为com.mysql.jdbc.Driver
,而到 8.0 改为com.mysql.cj.jdbc.Driver
MySQL的Driver驱动包下载到MySQL官网MySQL :: MySQL Community Downloads - Connector/J ,Select Operating System 选择 Platform Independent 下载
解压后将其中的jar包添加到开发环境即可
如未使用集成工具开发JDBC则要在环境变量中,将jar加到classpath
变量里,例windows
在IDEA的项目中加入驱动,在项目的模块上右键,选择Open Module Settings
后,在选择左侧的Libraries
,在右侧选择加入jar包,并找到解压后的驱动包即可
代码实现
JDBC可以通过获取properties
配置文件中的driver
值从而加载不同的驱动
步骤
-
创建配置文件,添加下面的属性和值
url
:代表数据库的URL,如:jdbc:mysql://localhost:3306/db_name
,其中localhost
是MySQL的主机ip地址,3306
是MySQL的端口号,db_name是要连接的数据库名username
:代表连据数据库所需的用户名password
:代表连据数据库所需的用户密码driver
:代表Java程序中要加载哪个驱动程序的类名,例如要使用MySQL则写com.mysql.jdbc.Driver
-
编写JDBC程序,并将下面的步骤写到静态代码块中以确保类被加载时建立好连接
- 读取
.properties
配置文件,并获取其属性值 - 加载配置文件中的
driver
驱动Class.forNmae(driver)
- 建立连接
Drivermanager.getConnection(url,username.password)
- 编写获取连接对象的方法
getConnection
return connection
- 读取
-
代码实现
-
config.properties
配置文件username=admin password=123456 url=http://127.0.0.1:3306/test driver=com.mysql.cj.jdbc.Driver
-
JDBC
import java.sql.Connection; import java.util.Properties; import java.io.FileInputStream; import java.sql.DriverManager; import java.lang.Exception; public class JDBCConnector{ private static Connection connection; private static String url; private static String username; private static String password; static{ try{ //读取properties配置文件 Properties properties = new Properties(); properties.load(new FileInputStream("config.properties")); //初始化静态变量 url = properties.getProperty("url"); username = properties.getPropery("username"); password = properties.getPropery("password"); driver = properties.getProperty("driver"); //加载驱加 Class.forName(driver); //建立连接 connection = DriverManager.getConnection(url,username.password); }catch(Exception e){ e.printStackTrace(); } } public static Connection getConnection(){ return connection; } }
-
相关文章
- 暂无相关文章
用户点评