JDBC(一) 简介与获取数据连接
2017-02-21 21:46
162 查看
1. JDBC 简介:
JDBC(Java
Data Base Connectivity : java数据库连接)是一种用于执行SQL语句的Java API,就是一组接
口(基本上在 java.sql 包中)。
用途:与数据库建立连接、发送 操作数据库的语句并处理结果。
2. JDBC 驱动程序:数据库厂商提供的实现 JDBC 接口的实现类
所以想访问数据库只需实现这组接口就行,当然不同的数据库就有不同的实现。(多态)数据库厂商为了生意更好,为客户服务,他们就提供对 JDBC 的实现,即JDBC驱动程序。
3. JDBC API
4. 测试获取数据库连接
Driver 是一个接口:数据库厂商必须提供实现的接口, 从其中获取数据库连接准备工作:
实现代码如下:
@Test public void testDriver() throws Exception { // 1. mysql厂商提供Driver 接口的实现类 Driver driver = new com.mysql.jdbc.Driver(); // 2. 准备连接数据库的基本信息 //url 写法:jdbc:mysql://localhost:3306/dason // 协议:子协议://子名称/数据库名 String url ="jdbc:mysql://localhost:3306/dason"; Properties info = new Properties(); // 数据库的登录名和密码 info.put("user","root"); info.put("password","root"); // 3. 调用driver 的coonnect(url,info) 方法获取数据库连接 Connection conn = driver.connect(url, info); System.out.println(conn); }
输出结果为:com.mysql.jdbc.JDBC4Connection@c666ef0
5. 但是不同的数据的 Driver 实现类的全类名、数据库信息是不同的,我们需要写一个适合各个数据库的获取连接的方法:
如图所示编写文件名为jdbc.properties 的配置文件代码如下:
/** * 通用的方法:可以获取任何数据库的连接 * 改进:将Driver 实现类的全类名、数据库信息放入配置文件中 * 配置文件在src下,文件名为jdbc.properties * @throws Exception */ public Connection getConnection() throws Exception { /** * //读取配置文件中的信息 * getClass():取得当前对象所属的Class对象 * getClassLoader():取得该Class对象的类装载器 */ InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(in); String drviverClass = properties.getProperty("driverClass"); String jdbcUrl = properties.getProperty("jdbcUrl"); String user = properties.getProperty("user"); String password = properties.getProperty("password"); Properties info = new Properties(); info.put("user", user); info.put("password", password); // 利用反射创建对象 Driver driver = (Driver) Class.forName(drviverClass).newInstance(); Connection conn = driver.connect(jdbcUrl, info); return conn; }
6. DriverManager 是驱动的管理类.
1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便
2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection()
方法时传入的参数不同, 即返回不同的数据库连接。
public Connection getConnection() throws Exception{ String driverClass = null; String jdbcUrl = null; String user = null; String password = null; //读取类路径下的 jdbc.properties 文件 InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(in); driverClass = properties.getProperty("driver"); jdbcUrl = properties.getProperty("jdbcUrl"); user = properties.getProperty("user"); password = properties.getProperty("password"); //2. 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块.) Class.forName(driverClass); //3. 通过 DriverManager 的 getConnection() 方法获取数据库连接. Connection connection = DriverManager.getConnection(jdbcUrl, user, password); return connection; }
相关文章推荐
- JDBC如何与数据库连接获取数据(原理+代码)
- JDBC解析3_获取数据连接信息
- Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
- JDBC中获取数据表的信息
- JDBC中获取数据表的信息
- JDBC数据连接
- jdbc连接数据库利用MyEclipse获取驱动名称以及连接字符串
- 关于Hibernate获取JDBC连接 直接执行SQL - 客观,辩证,务实,创新 - JavaEye技术网站
- 2.0中获取数据库连接统计数据
- jxl 从excel导入数据到数据库中;java中jdbc连接数据库
- JDBC获取数据表的字段名
- 简单方法获取数据连接的字符串(UDL文件)
- asp.net中获取数据连接的统计信息
- ASP.NET2.0里轻松获取数据库连接统计数据
- (原) ODP.NET 演示如何从DataSet中获取LOB数据 附:.NET 环境下连接Oracle数据库
- jdbc的meta编程--获取数据表的字段名
- 转贴:新版JDBC连接SqlServer2005数据库
- JDBC中获取数据表的信息
- ASP.NET 2.0里轻松获取数据库连接统计数据
- jdbc中使用c3p0来获取连接