Properties--配置文件的加载
2015-11-30 19:35
399 查看
**在sql开发中经常需要连接数据库,加载驱动、建立连接等等。为了保证代码的可扩展性,针对一些用户名密码等等,可以利用配置文件动态加载的方法,自动从配置文件中读取。这样针对一些修改操作可以直接在配置文件里面进行。
2.建立连接时候的url user password可以放到配置文件中
2.根据项目需求在配置文件中写入对应的键值对
注意:1.配置文件中的内容都是以键值对的形式存在的
2.配置文件中尽量不要出现空格,否则加载的容易出错
加载配置文件的步骤:
1 、创建一个Properties对象
2.把配置文件封装成一个流对象
3.利用Properties类的load( )方法加载配置文件
4.根据实际需要获取利用getProperty(“url”)方法获取对应的值
注意:括号里面的参数是properties文件中的键的名字,需要加括号!!
原始代码片段
// 查询操作 @Test public void jdbcSelect() throws ClassNotFoundException { // 1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.建立连接 String url = "jdbc:mysql://localhost:3306/day07"; String user = "root"; String password = "12345"; Connection conn = null; Statement stat = null; ResultSet res = null; // 创建一个集合用来存放学生对象 List<Stu> listStu = new ArrayList<Stu>(); try { conn = DriverManager.getConnection(url, user, password); // 3.获取statement stat = conn.createStatement(); // 4.执行sql语句 String sql = "select * from stu "; res = stat.executeQuery(sql); // 5.遍历结果集 while (res.next() == true) { String name = res.getString("name"); String sex = res.getString(4); int age = res.getInt("age"); int score = res.getInt("score"); // 把查出来的结果封装成一个个对象 // 创一个学生类对象 Stu stu = new Stu(); stu.setAge(age); stu.setName(name); stu.setScore(score); stu.setSex(sex); listStu.add(stu); // System.out.println("姓名:"+name+" 年龄:"+age+" 性别:"+sex+" 等分:" // +score); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if (res != null) { res.close(); res = null; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if (stat != null) { stat.close(); stat = null; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (Stu list : listStu) { System.out.println(list); } }
代码分析
1.加载驱动只需要加载一次即可2.建立连接时候的url user password可以放到配置文件中
如何创建配置文件
1.在src目录下面创建一个.properties结尾的配置文件2.根据项目需求在配置文件中写入对应的键值对
注意:1.配置文件中的内容都是以键值对的形式存在的
2.配置文件中尽量不要出现空格,否则加载的容易出错
如何在工具类中加载配置文件
配置文件的加载一般都是在工具类中完成的,根据实际需要在工具类中取出相应的字段进行处理。加载配置文件的步骤:
1 、创建一个Properties对象
Properties prop = new Properties();
2.把配置文件封装成一个流对象
InputStream is = FileInputStream("src/jdbc.properties");
3.利用Properties类的load( )方法加载配置文件
prop.load(is);
4.根据实际需要获取利用getProperty(“url”)方法获取对应的值
url = prop.getProperty("url"); user = prop.getProperty("user"); password = prop.getProperty("password"); driverClass = prop.getProperty("driverClass");
注意:括号里面的参数是properties文件中的键的名字,需要加括号!!
这里写代码片
public class JdbcUtil {
/*
* 这些链接参数如果在代码里面写死,需要改变参数的时候。
* 就需要重新编译部署,会比较麻烦;
* 从配置文件读取,每次类加载的时候自动读取。
*/
private static String url;
private static String user;
private static String password;
private static String driverClass;
/*
* 驱动的加载只需要加载一次;
* 在工具类中的有关方法被调用的时候,JVM就把这个工具类加载到内存;
* 那么写在静态代码块中的代码就会被加载,而且只会加载一次
*/
static {
//properties文件相当于一个map,里面都是剑指对的形式;
//配置文件的空格尽量不要有,会被读取过去的!
Properties prop = new Properties(); //先要有个对象
InputStream is;
try {
//创建一个输入流
is = new FileInputStream("src/jdbc.properties");
try {
// 加载配置文件
prop.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//从properties文件中获取链接
url = prop.getProperty("url"); user = prop.getProperty("user"); password = prop.getProperty("password"); driverClass = prop.getProperty("driverClass");
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器
- SQL Server 2000向SQL Server 2008 R2推送数据图文教程