使用配置文件来配置JDBC连接数据库
1.管理数据库连接的Class
代码如下:
/*
* 使用配置文件来配置JDBC连接数据库
* 该类用来管理数据库连接
*/
package jdbcTest; import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
import java.io.InputStream; /*
* 使用配置文件来配置JDBC连接数据库
* 该类用来管理数据库连接
*/ public class DBUtil { //静态属性,用于DriverManager.getConnection(url,user,psw);中的三个参数
private static String url;
private static String user;
private static String psw; //静态块
static{
try{
//读取配置文件
Properties prop=new Properties(); /*
* 此种写法是以后更加推荐的一种相对路径的处理方法。
* 要读取的文件和Class处于同一目录下
*/ InputStream is=JDBCDemo3.class.getClassLoader().getResourceAsStream("config2.properties"); /*
* 这种写法:class.getResource/getResourceAsStream也可以找到资源
* InputStream is=JDBCDemo3.class.getResourceAsStream("config.properties");
*/ prop.load(is); is.close();//输入流用完后,就可以关掉了 String driver=prop.getProperty("driver");
url=prop.getProperty("url");
user=prop.getProperty("user");
psw=prop.getProperty("psw"); //注册驱动
Class.forName(driver); System.out.println(driver+","+url+","+user+","+psw); }catch(Exception e){
e.printStackTrace();
}
} //获取连接
public static Connection getConnection() throws Exception{
/*
* 通过DriverManager创建一个数据库的连接并返回
*/
try{
return DriverManager.getConnection(url,user,psw); }catch(Exception e){
e.printStackTrace();
//通知创建者,创建连接时出错
throw e; //注意,如果采用return null;如果外界没有对null进行则会引发空指针异常
}
} //关闭指定的连接
public static void closeConnection(Connection conn){
try{
if(conn!=null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
2.配置文件config.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
user=SYSTEM
psw=Suzhou123 /*
* java.util.Properties
* Properties类用于读取properties文件
* 使用该类,可以类似Map的形式读取配置文件内容
* 文件格式类似:
* key=value,即等号左边key,等号右边为value
*/
3.读取数据库操作
package jdbcTest; import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; /*
* 使用配置文件来配置JDBC连接数据库
* 该类用来管理数据库连接
*/ public class JDBCDemo3 { public static void main(String[] args) { try{ Connection conn=DBUtil.getConnection();
System.out.println("数据库已连接成功"); /*
* 通过Connection创建Statement
* 用来执行sql语句
*/
Statement stmt=conn.createStatement();
//要执行的sql语句
String sql="SELECT * FROM STUDENT";
/*
* 使用executeQuery来执行DQL语句,并且查询后会得到一个查询结果集
*/
ResultSet rs=stmt.executeQuery(sql); while(rs.next()){ String Std_name=rs.getString("NAME");
int Std_age=rs.getInt("AGE");
String Std_sex=rs.getString("SEX");
int Std_no=rs.getInt("SNO"); System.out.println(Std_name+", "+Std_age+", "+Std_sex+", "+Std_no); } /*
* 数据库资源有限,用完一个资源后就关闭,会节约数据库资源
*/
rs.close(); /*
* 当不再通过Statement执行其他sql时,就应当及时关闭Statement,
* 以释放JDBC与数据库的资源占用
*/
stmt.close(); //使用后关闭连接
DBUtil.closeConnection(conn); }catch(Exception e){
e.printStackTrace();
}
} }
以上,就是一个数据库连接的完整操作了。
使用配置文件来配置JDBC连接数据库的更多相关文章
- tomcat中配置servlet.xml的JNDI或JDBC连接数据库【原】
tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\se ...
- (转) Spring Boot JDBC 连接数据库
文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. 1 JDBC 连接数据库 1.1 属性配 ...
- JDBC第一篇--【介绍JDBC、使用JDBC连接数据库、简单的工具类】
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要 ...
- JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要 ...
- jdbc连接数据库,中文出现乱码的问题
一.使用jdbc连接数据库,插入数据库时,数据里的数据显示乱码,为 " ??? " 两种解决方案: 1.修改服务端的mysql配置文件,编辑my.cnf文件,在[mysqld]下添 ...
- Mybatis-基于配置文件的配置(——纪念这个即将被抛弃的孩子)
虽然内心相信Mybatis基于配置文件的配置早已经在实战之中被注解所遗忘,但是我相信还是会有一小部分人还是需要这种技术去维护原有使用这种方式去搭建的项目. 废话不多说首先使用框架包是不能少的了.导入M ...
- 代码的二次重构(开篇:JDBC连接数据库)
Java中使用JDBC连接数据库时,若是使用初级的代码,代码复用率非常低,连接过程简单来说分为以下几个步骤: 加载驱动包 准备好URL链接获取数据库连接(driver和url根据不同的数据库的不同而不 ...
- Spring Boot JDBC 连接数据库
文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. JDBC 连接数据库 1.属性配置文件( ...
- 利用JDBC连接数据库(MySQL)
1 在eclipse中创建一个maven项目(在Java模式下,不要在JavaEE模式下) 1.1 file -->> new -->> project 2 下载数据库驱动 ...
随机推荐
- 一个国家专利查询demo
写了一下午,借鉴apache的 httpclient 源码 调用 写的,拿出来分享一下,可以用作其他不同平台的项目post/get数据上面. package cn.shb.test; import o ...
- Magento 创建新的数据实体 model 、 resource 和 collection 文件
一.创建model文件 class Bestbuy_PrepaidCard_Model_Used extends Mage_Core_Model_Abstract { protected ...
- 2016ACM/ICPC亚洲区沈阳站-重现赛赛题
今天做的沈阳站重现赛,自己还是太水,只做出两道签到题,另外两道看懂题意了,但是也没能做出来. 1. Thickest Burger Time Limit: 2000/1000 MS (Java/Oth ...
- yii2.0 框架邮件的发送
第一步: 在main-local.php中的components中配置mailer: $config = [ 'components' => [ 'mailer' => [ 'class' ...
- asp.net mvc 多级文件夹
ASP.NET MVC - 定制属于你自己的ViewEngine 标签: asp.netmvcstring引擎razorapplication 2012-07-26 14:17 5365人阅读 评论( ...
- .NET中RabbitMQ的使用
概述 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public ...
- 【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的 ...
- 【Java EE 学习 24 下】【注解在数据库开发中的使用】【反射+注解+动态代理在事务中的应用service层】
一.使用注解可以解决JavaBean和数据库中表名不一致.字段名不一致.字段数量不一致的问题. 1.Sun公司给jdbc提供的注解 @Table.@Column.@Id.@OneToMany.@One ...
- [译]SQL Server分析服务的权限配置
简介: 本文介绍如何配置SSAS数据库和cube相关维度的安全设置. 相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别.但是也会有一些限制,比如SSAS的权 ...
- Jetty使用教程(四:23)—Jetty开发指南
二十三.Maven和Jetty 这一章节将说明如何通过Maven管理Jetty和使用Jetty的Maven插件. 23.1 使用Maven Apache Maven是一个款软件项目管理工具.基于项目对 ...