使用配置文件来配置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 下载数据库驱动 ...
随机推荐
- 【GoLang】golang 闭包 closure 参数传递的蹊跷!
结论: 闭包函数可以直接引用外层代码定义的变量, 但是,注意,闭包函数里面引用的是变量的地址, 当goroutine被调度时,改地址的值才会被传递给goroutine 函数. 介绍 go的闭包是一个很 ...
- 【sublime xftp插件】 Host key verification failed ,错误处理
错误背景: 1.CentOS7上面作为运行环境,Coding在本机的windows环境 2.在windows上安装sublime 3,然后保存代码通过xftp保存到centos7虚机上面. 3.Cen ...
- c/c++与函数有关的优化
一.函数调用的优化 调用函数需要对内存进行多次访问,因此对函数的调用通常很费时,容易造成程序效率低下: 在函数调用过程中,如果每一次函数的调用结果都相同且需要多次调用时,可以将几次调用的结果进行多次累 ...
- vbox中虚拟ubuntu增加新的虚拟硬盘
vbox中虚拟ubuntu增加新的虚拟硬盘 在virtualbox中装好Ubuntu后,发现硬盘空间不够使用 了.以下是搜集整理的解决办法: 1. 添加新硬盘 设置 -> ...
- Markdown的简单实用
Markdown Markdown是一种标记语言,能让笔者像写代码代码一样写文档,不用再为文档的排版样式而费心.
- PHP的命名空间 与类是自动加载
namespace 假设如果不使用namespace,那么每个类在一个项目中的名字就必须是固定的.因为php在new的时候不管是调用autoload还是调用已加载过的类,都存在一个类名对应的文件.所以 ...
- C# 使用Log4Net记录程序日志
在之前的博客中,写过使用系统内置的Trace类记录程序日志,具体请参考:C# 使用Trace记录程序日志.这篇博客将介绍如何使用Log4Net记录程序日志. 首先需要引用Log4Net.dll,我们可 ...
- .NET开发者如何愉快的进行微信公众号开发
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这篇文章只是一个如何提高开发效率的简单指导和记录,不会涉及具体的微信公众号开发内容. ...
- sysbench的安装与使用(with MySQL)
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试. 项目主页: http://sysbench.sourceforge.net/ 安装文档htt ...
- PHP运行模式
1.运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口 / Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI ...