properties文件作用以及在哪些地方用
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle; //连接数据库
public class JDBCUtils { public static Connection conn ;
public static PreparedStatement pstmt ;
public static ResultSet rs ; private static String driverClass ;
private static String url ;
private static String username ;
private static String password ; static {
ResourceBundle rd = ResourceBundle.getBundle("dbconfig") ;
driverClass = rd.getString("driverclass") ;
url = rd.getString("url") ;
username = rd.getString("username") ;
password = rd.getString("password") ;
} public static Connection getConn(){
try {
Class.forName(driverClass) ;
conn = DriverManager.getConnection(url, username, password) ;
return conn ;
} catch (Exception e) {
e.printStackTrace();
}
return null ;
} //增删改
public static boolean updateSQL(String sql,Object...objs){
getConn() ;
int n = 0 ;
try {
pstmt = conn.prepareStatement(sql) ;
//指定参数的值
for (int i = 0; i < objs.length; i++) {
pstmt.setObject(i+1, objs[i]) ;
} //执行sql语句
n = pstmt.executeUpdate() ;
} catch (SQLException e) {
e.printStackTrace();
}finally{
close(conn,pstmt,rs) ;
}
return n > 0 ? true :false ;
} //查询
public static ResultSet getResultSet(String sql,Object ...objs){
getConn() ;
int n = 0 ;
try {
pstmt = conn.prepareStatement(sql) ;
//指定参数的值
for (int i = 0; i < objs.length; i++) {
pstmt.setObject(i+1, objs[i]) ;
} //执行sql语句
rs = pstmt.executeQuery() ;
} catch (SQLException e) {
e.printStackTrace();
}
return rs ;
} //关闭连接的方法
public static void close(Connection conn ,Statement pstmt, ResultSet rs){
if(rs != null){
try {
rs.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pstmt != null){
try {
pstmt.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } if(conn != null){
try {
conn.close() ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
这段代码是链接数据库,其中第23行是读取properties配置文件的,当初有点看不懂,那properties文件的作用是什么?properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释。具体一点的话,如下解释:
配置信息用的。加上你写一个方法来获取配置信息的内容,也就是读取.properties文件。方法设置返回值,可以用来返回等号后面的信息,比如你想获取8888的话,只需要给写的方法传一个参数PORT,就能返回8888。工程里很多地方都会用到配置信息里的东西,如果没有配置文件,将来要修改端口号或者HOST的时候就比较麻烦,需要改代码。有配置文件就不一样了,只修改配置文件里等号后面的数据就可以了。工程里其他地方用HOST和PORT都是用给读取配置文件的方法传参数的形式调用数据的,所以只修改配置文件的内容就能全部修改为想要的数据。最主要的是不用修改代码,这点很重要,所以工作中配置文件往往比java代码还要多。,当然不止是.properties类型的,更多的是.xml类型
properties文件作用以及在哪些地方用的更多相关文章
- java读取properties文件时候要注意的地方
		
java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...
 - java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
		
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
 - properties文件 , properties类, 的作用
		
"properties文件",是java所支持的配置文件类型.java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文 ...
 - c#中bin,obj,properties文件夹的作用
		
Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/R ...
 - 五种方式让你在java中读取properties文件内容不再是难题
		
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
 - Spring中配置和读取多个Properties文件--转
		
public class PropertiesFactoryBeanextends PropertiesLoaderSupportimplements FactoryBean, Initializin ...
 - spring入门(二)【加载properties文件】
		
在开发过程当中需要用到配置信息,这些信息不能进行硬编码,这时配置文件是一个比较好的方式,java提供了properties格式的文件,以键值对的方式保存信息,在读取的时候通过键获得键对应的值,spri ...
 - Spring中配置和读取多个Properties文件
		
一个系统中通常会存在如下一些以Properties形式存在的配置文件 1.数据库配置文件demo-db.properties: database.url=jdbc:mysql://localhost/ ...
 - properties文件简介及其常用Java操作
		
一.properties文件简介 java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值&q ...
 
随机推荐
- php.ini配置文件中的session配置
			
session.save_path = "D:\phpEnv\cachefiles" 这里的路径就是可以自己定义的存放session文件信息的目录,默认是'\tmp'(根目录下的t ...
 - String,StringBuffer与StringBuilder
			
1. String,StringBuffer与StringBuilder的区别 String:存储在常量池中:是不可变的字符序列,任何对String值的改变都会引发新的String对象的生成,因此执行 ...
 - 微软虐我千百遍——记一次比较漫长的TFS数据库迁移
			
起因 七月三日早晨刚到公司,同事就跟我讲TFS开始返回 TF30042错误,报告数据库已满.按照处理问题的第一直觉,我上bing的英文网站搜了一下,发现是部署TFS的时候使用的SQL Express限 ...
 - python中的可变与不可变对象
			
Python中的可变对象和不可变对象 什么是可变/不可变对象 不可变对象,该对象所指向的内存中的值不能被改变.当改变某个变量时候,由于其所指的值不能被改变,相当于把原来的值复制一份后再改变,这会开辟一 ...
 - 对象序列化  输入输出流概念 InputOutStream OutputStream
			
序列化:内存到文件 他是输出流 ObjectOutputStream 需要强制类型转换 必须实现seriazable接口 反序列化:文件到内存 输入流 O ...
 - Spring3 MVC DispatcherServlet 配置问题
			
1. Spring MVC 是通过servlet来进行转发的,一般在web.xml中配置如下: <servlet> <servlet-name>dispatcher</s ...
 - 【Storm】Storm实战之频繁二项集挖掘
			
一.前言 针对大叔据实时处理的入门,除了使用WordCount示例之外,还需要相对更深入点的示例来理解Storm,因此,本篇博文利用Storm实现了频繁项集挖掘的案例,以方便更好的入门Storm. 二 ...
 - Java语言的9个主要特性
			
Java作为时下很流行的一门编程语言,受到很多人的热爱,那么它有哪些特性呢?一起来看看吧. 1.Java语言是简单的 Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用.另 ...
 - Docker 部署DropWizard
			
FROM index.alauda.cn/alauda/ubuntu MAINTAINER hongxiao.shou "shouhongxiao@163.com" COPY jd ...
 - multipath多路径实验01-构建iscsi模拟环境
			
multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...