比较好的网站开发公司电话,信誉好的天津网站建设,没有网站怎么做百度推广,交互式网站设计 深圳一#xff1a;JDBC概述
1.数据持久化
持久化(persistence)#xff1a;把数据保存到可掉电式存储设备中以供之后使用。大多数情况下#xff0c;数据持久化意味着将内存中的数据保存到硬盘上加以”固化”#xff0c;而持久化的实现过程大多通过各种关系数据库来完成。简单来…一JDBC概述
1.数据持久化
持久化(persistence)把数据保存到可掉电式存储设备中以供之后使用。大多数情况下数据持久化意味着将内存中的数据保存到硬盘上加以”固化”而持久化的实现过程大多通过各种关系数据库来完成。简单来说数据持久化就是将数据保存到数据库或硬盘的过程
2.Java中的数据存储技术
主要可分为
JDBC直接访问数据库第三方O/R工具如Hibernate, Mybatis 等JDOJava Data Object技术
JDBC是Java访问数据库的基础第三方O/R工具与JDO都只是更好的封装了JDBC。
3.JDBC
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口一组API定义了用来访问数据库的标准Java类库java.sql,javax.sql使用这些类库可以以一种标准的方法、方便地访问数据库资源。实际的数据库连接 JDBC为访问不同的数据库提供了一种统一的途径为开发者屏蔽了一些细节问题。 JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统这样就使得程序员无需对特定的数据库系统的特点有过多的了解从而大大简化和加快了开发过程。
4.JDBC体系
JDBC接口API包括两个层次
面向应用的APIJava API抽象接口供应用程序开发人员使用连接数据库执行SQL语句获得结果。 JDBC是Java维护公司提供一套用于数据库操作的接口java程序员只需要面向Java API即可。 面向数据库的APIJava Driver API供开发商开发数据库驱动程序用。 不同的数据库厂商需要针对这套接口提供不同实现。不同的实现的集合即为不同数据库的驱动。
5.JDBC的编程过程 二获取数据库连接
1.Driver接口实现类 java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。由数据库厂商负责实现与使用的不同数据库厂商提供不同的实现。 在使用者编写程序中不需要直接去访问实现了 Driver 接口的类而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。 Oracle的驱动oracle.jdbc.driver.OracleDriverMySQL的驱动 com.mysql.jdbc.Driver*
2.URL
用于标识一个被注册的驱动程序驱动程序管理器通过这个 URL 选择正确的驱动程序从而建立到数据库的连接。 JDBC URL的标准由三部分组成各部分间用冒号分隔。
jdbc:子协议:子名称协议JDBC URL中的协议总是jdbc子协议子协议用于标识一个数据库驱动程序子名称一种标识数据库的方法。子名称可以依不同的子协议而变化用子名称的目的是为了定位数据库提供足够的信息。包含主机名(对应服务端的ip地址)端口号数据库名 例
3.jar包的安装
数据库的jar包就提供了数据库厂商负责实现与使用的数据库驱动 mysql-connector-java-5.1.37-bin.jar 将上述jar包(mysql5.1.37)拷贝到Java工程的一个目录中习惯上新建一个lib文件夹。 在驱动jar上右键–Build Path–Add to Build Path
注意如果是Dynamic Web Project动态的web项目话则是把驱动jar放到WebContent有的开发工具叫WebRoot目录中的WEB-INF目录中的lib目录下即可
4.获取数据库连接
package com.jdbc1.connection; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;import org.junit.Test;public class ConnectionTest {//方式一Testpublic void testConnection() throws SQLException {Driver driver new com.mysql.jdbc.Driver();//jdbc:mysql:协议//localhostip地址//3306端口号//testtest数据库String url jdbc:mysql://localhost:3306/test;//将用户名和密码封装成Properties对象中Properties info new Properties();info.setProperty(user, root);info.setProperty(password, 123456);Connection conn driver.connect(url, info);System.out.println(conn); }//方式二:对方式一的迭代(在程序中不出现第三方API使程序移植性更好)Testpublic void testConnection2() throws Exception {//1.获取Driver实现类对象使用反射Class clazz Class.forName(com.mysql.jdbc.Driver);Driver driver (Driver)clazz.newInstance();//2.提供连接数据库String url jdbc:mysql://localhost:3306/test;//3.将用户名和密码封装成Properties对象中Properties info new Properties();info.setProperty(user, root);info.setProperty(password, 123456);//4.连接Connection conn driver.connect(url,info);System.out.println(conn); }//方式三使用DriverManager替换DriverTestpublic void testConnection3() throws Exception {//1.获取Driver实现类对象Class clazz Class.forName(com.mysql.jdbc.Driver);Driver driver (Driver)clazz.newInstance();//2.提供三个基本连接的信息String url jdbc:mysql://localhost:3306/test;String user root;String password 123456;//3.注册驱动DriverManager.registerDriver(driver);//4.获取连接Connection conn DriverManager.getConnection(url, user, password);System.out.println(conn); }//方式四只用加载驱动不用显示注册驱动Testpublic void testConnection4() throws Exception {//1.提供三个基本连接的信息String url jdbc:mysql://localhost:3306/test;String user root;String password 123456;//2.加载Driver//相较于方式三可以省略如下步骤在mysql的Driver实现类中声明了驱动的注册Class clazz Class.forName(com.mysql.jdbc.Driver);
// Driver driver (Driver)clazz.newInstance();
// //3.注册驱动
// DriverManager.registerDriver(driver);//4.获取连接Connection conn DriverManager.getConnection(url, user, password);System.out.println(conn); } //方式五(final版)将数据库连接需要的4个基本信息声明在配置文件中通过读取配置文件的方式获取连接//好处//1.实现数据与代码的分离实现了解耦//2.需要修改配置文件信息时可以避免程序重新打包Testpublic void getConnection() throws Exception {//1.读取配置文件中的配置信息InputStream is ConnectionTest.class.getClassLoader().getResourceAsStream(jdbc.properties);Properties pros new Properties();pros.load(is);String user pros.getProperty(user);String password pros.getProperty(password);String url pros.getProperty(url);String driverClass pros.getProperty(driverClass);//2.加载驱动Class.forName(driverClass);//3.获取连接Connection conn DriverManager.getConnection(url,user,password);System.out.println(conn);}
}注方式五中配置文件声明在工程的src目录下【jdbc.properties】
userroot
password123456
urljdbc:mysql://localhost:3306/test
driverClasscom.mysql.jdbc.Driver你电脑上一定要装数据库没有的话都是白做上面的用户名和密码根据自己的数据库情况来
感谢大家的支持关注评论点赞 参考资料尚硅谷_宋红康_JDBC核心技术