JDBC--获取数据库连接
2015-11-13 17:10
357 查看
1、JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、统一的sQL数据库存取和操作的公共接口。
2、Java中的几种数据库存取技术:
--1)JDBC直接访问数据库;
--2)JDO技术;
--3)第三方O/R工具,如Hibernate,ibatis等;
2、通过Driver接口获取数据库连接:连接任何类型的数据库
--方法:把数据库驱动Driver实现类的全类名、url、user、password放入一个配置文件中,通过修改配置文件的方式实现。
--实现:
3、通过DriverManager获取数据库连接:
--在加载数据库驱动程序的时候也可以使用DriverManager的registerDriver()方法来加载,但是由于在对应的Driver类中已经写有注册驱动的静态代码块,因此在使用Class.forName()加载Driver类时会执行这个静态代码块,与DriverManager.registerDriver(Class.forName(driverClassName).newInstance());的效果相同。如果使用DriverManager.registerDriver(Class.forName(driverClassName).newInstance())来加载驱动,会实例化两个Driver类的对象,因此推荐直接使用Class.forName()来加载驱动。
--使用DriverManager获取数据库连接较为方便,同时它可以管理多个驱动程序,当传入不同的url,user等参数时将返回不同类型的数据库连接。
2、Java中的几种数据库存取技术:
--1)JDBC直接访问数据库;
--2)JDO技术;
--3)第三方O/R工具,如Hibernate,ibatis等;
2、通过Driver接口获取数据库连接:连接任何类型的数据库
--方法:把数据库驱动Driver实现类的全类名、url、user、password放入一个配置文件中,通过修改配置文件的方式实现。
--实现:
public Connection getConnection() throws Exception{ String driverClassName = null; String jdbcUrl = null; String user = null; String password = null; //读取属性文件 jdbc.properties 中的配置信息 Properties tmpPro = new Properties(); InputStream in = new FileInputStream(new File("jdbc.properties")); tmpPro.load(in); driverClassName = tmpPro.getProperty("driver"); jdbcUrl = tmpPro.getProperty("jdbcurl"); user = tmpPro.getProperty("user"); password = tmpPro.getProperty("password"); //通过反射创建 Driver类 Driver driver = (Driver)Class.forName(driverClassName).newInstance(); //创建Properties类设置账号密码 Properties info = new Properties(); info.put("user", user); info.put("password", password); //通过Driver的connect()方法连接数据库并获得Connection对象 Connection conn = driver.connect(jdbcUrl, info); return conn; }
3、通过DriverManager获取数据库连接:
public Connection getConnection() throws Exception{ //从配置文件读取信息 Properties properties = new Properties(); InputStream in = new FileInputStream(new File("jdbc.properties")); properties.load(in); in.close(); String driverClassName = properties.getProperty("driver"); String jdbcUrl = properties.getProperty("jdbcurl"); String user = properties.getProperty("user"); String password = properties.getProperty("password"); //DriverManager.registerDriver(Class.forName(driverClassName).newInstance()); //加载数据库驱动程序 Class.forName(driverClassName); //通过DriverManager的getConnection()方法获取数据库连接。 return DriverManager.getConnection(jdbcUrl, user, password); }
--在加载数据库驱动程序的时候也可以使用DriverManager的registerDriver()方法来加载,但是由于在对应的Driver类中已经写有注册驱动的静态代码块,因此在使用Class.forName()加载Driver类时会执行这个静态代码块,与DriverManager.registerDriver(Class.forName(driverClassName).newInstance());的效果相同。如果使用DriverManager.registerDriver(Class.forName(driverClassName).newInstance())来加载驱动,会实例化两个Driver类的对象,因此推荐直接使用Class.forName()来加载驱动。
--使用DriverManager获取数据库连接较为方便,同时它可以管理多个驱动程序,当传入不同的url,user等参数时将返回不同类型的数据库连接。
相关文章推荐
- mysql 索引 导致连接堵塞
- MySql的计算函数
- 从Excel表格导入数据到数据库
- 使用SQLCipher加密数据库
- springMVC+Mybatis构架兼容Redis+Websocet+quartz+echats分布式实现金融K线图及分时图的展现
- Mysql中,int(10)和int(11)的区别
- oracle分析函数
- SQL语句给某一列自动编号
- sql查询时使用临时表的速度问题
- android数据库的简单Demo(原生版+Google版)
- 数据库基础——数据库设计
- Oracle中定义DES加密解密及MD5加密函数
- 处理mysql上百万条数据的优化
- mysql max_allowed_packet 设置过小导致记录写入失败
- 数据库Blob数据类型转String
- oracle 数据库方面总结
- mongodb
- mongodb的安装、创建数据库、设置用户(Window 7)
- Oracle按季度统计语句
- SqlServer分页查询