黑马程序员技术交流社区

标题: 【黑马程序员济南】小鲁哥哥白话笔记-Properties配置文件 [打印本页]

作者: 小鲁哥哥    时间: 2017-10-12 15:18
标题: 【黑马程序员济南】小鲁哥哥白话笔记-Properties配置文件
小鲁哥哥白话笔记-Properties配置文件

小伙伴们过了一个十一假期是不是都玩的很嗨皮,8天的小长假已经过去了,我们马上又要投入到新的工作和学习中了,告诉大家一个非常不好的消息,你的2017年的假期已经全部休完。。。。。。。。
今天我给大家聊一聊Properties配置文件,节前我们给大家聊的是JDBC的一些知识,今天给大家介绍一种通过配置文件Properties来设置链接数据库的信息。
在给大家聊Properties前,先做前期的准备工作,建立数据表数据存储对象。
[Java] 纯文本查看 复制代码
public class Sort {
                private int sid;
                private String sname;
                private double sprice;
                private String sdesc;
                public Sort(int sid, String sname, double sprice, String sdesc) {
                    this.sid = sid;
                    this.sname = sname;
                    this.sprice = sprice;
                    this.sdesc = sdesc;
                }
                public Sort(){}
                public int getSid() {
                    return sid;
                }
                public void setSid(int sid) {
                    this.sid = sid;
                }
                public String getSname() {
                    return sname;
                }
                public void setSname(String sname) {
                    this.sname = sname;
                }
                public double getSprice() {
                    return sprice;
                }
                public void setSprice(double sprice) {
                    this.sprice = sprice;
                }
                public String getSdesc() {
                    return sdesc;
                }
                public void setSdesc(String sdesc) {
                    this.sdesc = sdesc;
                }
                @Override
                public String toString() {
                    return "Sort [sid=" + sid + ", sname=" + sname + ", sprice=" + sprice + ", sdesc=" + sdesc + "]";
                }               
            }
建立完model对象后,我们开始我们的Properties之旅:
Properties配置文件相关介绍,以及我们为什么用配置文件:
            * 开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,
                只需要修改配置文件即可。
            * 通常情况下,我们习惯使用properties文件,此文件我们将做如下要求:
                1.    文件位置:任意,建议src下
                2.    文件名称:任意,扩展名为properties
                3.    文件内容:一行一组数据,格式是“key=value”.
                    a)    key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver
                    b)    value值不支持中文,如果需要使用非英文字符,将进行unicode转换。
properties文件的创建和编写:
* a: properties文件的创建
            * src路径下建立database.properties(其实就是一个文本文件)
* b: properties文件的编写(内容如下)
            driverClass=com.mysql.jdbc.Driver
            url=jdbc:mysql://localhost:3306/mybase
            username=root
            password=123
加载配置文件
        案例代码        
[Java] 纯文本查看 复制代码
           /*
             *  加载properties配置文件
             *  IO读取文件,键值对存储到集合
             *  从集合中以键值对方式获取数据库的连接信息,完成数据库的连接
             */
            public class PropertiesDemo {
                public static void main(String[] args) throws Exception{
                    FileInputStream fis = new FileInputStream("database.properties");
                    System.out.println(fis);
                    //使用类的加载器
                    InputStream in = PropertiesDemo.class.getClassLoader().getResourceAsStream("database.properties");
                    System.out.println(in);
                    Properties pro = new Properties();
                    pro.load(in);
                    System.out.println(in);                    
                }
            }
通过配置文件连接数据库:
案例代码
  
[Java] 纯文本查看 复制代码
          /*
             *  加载properties配置文件
             *  IO读取文件,键值对存储到集合
             *  从集合中以键值对方式获取数据库的连接信息,完成数据库的连接
             */
            public class PropertiesDemo {
                public static void main(String[] args) throws Exception{
                    FileInputStream fis = new FileInputStream("database.properties");
                    System.out.println(fis);
                    //使用类的加载器
                    InputStream in = PropertiesDemo.class.getClassLoader().getResourceAsStream("database.properties");
                    System.out.println(in);
                    Properties pro = new Properties();
                    pro.load(in);
                    //获取集合中的键值对
                    String driverClass=pro.getProperty("driverClass");
                    String url = pro.getProperty("url");
                    String username = pro.getProperty("username");
                    String password = pro.getProperty("password");
                    Class.forName(driverClass);
                    Connection con = DriverManager.getConnection(url, username, password);
                    System.out.println(con);
                    
                }
            }
读取配置文件的工具类:
* a: 案例代码
[Java] 纯文本查看 复制代码
           /*
             *  编写数据库连接的工具类,JDBC工具类
             *  获取连接对象采用读取配置文件方式
             *  读取文件获取连接,执行一次,static{}
             */
            public class JDBCUtilsConfig {
                private static Connection con ;
                private static String driverClass;
                private static String url;
                private static String username;
                private static String password;
               
                static{
                    try{
                        readConfig();
                        Class.forName(driverClass);
                        con = DriverManager.getConnection(url, username, password);
                    }catch(Exception ex){
                        throw new RuntimeException("数据库连接失败");
                    }
                }
               
                private static void readConfig()throws Exception{
                    InputStream in = JDBCUtilsConfig.class.getClassLoader().getResourceAsStream("database.properties");
                     Properties pro = new Properties();
                     pro.load(in);
                     driverClass=pro.getProperty("driverClass");
                     url = pro.getProperty("url");
                     username = pro.getProperty("username");
                     password = pro.getProperty("password");
                }
               
               
                public static Connection getConnection(){
                    return con;
                }
               
            }
以上就是Properties的简单介绍,大家可以通过这篇文章的介绍对它有一个简单的了解,但是还需要大家的实践练习才能熟练的掌握它的用法。

点进这个帖子的同学肯定是要奋发图强,学技术拿高薪的有志青年,这里我看你骨骼惊奇,是个绝世的练武奇才,你我有缘,今天我就把这个武林秘籍如来神掌传授于你! 什么?不想学如来神掌?不要紧!这里有各个门派的武林绝学,链接拿好!!哈哈哈哈
     【黑马程序员济南】小鲁哥哥全学科技术整合帖(一贴在手!天下我有!)
如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!
     黑马程序员济南中心联系电话:0531-55696830






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2