java JDBC (五) properties配置文件

1、在src目录下创建文件 database.properties

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://192.168.0.207:3306/mydb
user = root
pwd = XXXXXXXXXXXX

2、创建读取配置文件信息的类DBProperties.java

package cn.sasa.demo4;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class DBProperties {
    public static String driver = "";
    public static String url = "";
    public static String user = "";
    public static String pwd = "";

    static {
        // 类的加载器
        try {
            InputStream input = DBProperties.class.getClassLoader().getResourceAsStream("database.properties");
            Properties properties = new Properties();
            properties.load(input);
            driver = properties.getProperty("driver");
            url = properties.getProperty("url");
            user = properties.getProperty("user");
            pwd = properties.getProperty("pwd");
        }catch(IOException ex) {

        }

    }
}

3、JDBC的工具类

package cn.sasa.demo4;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/***
 * JDBC 工具类
 * @author THTF
 *
 */
public class JDBCUtil {

    private JDBCUtil() {}

    private static Connection conn;

    static {
        try {
            Class.forName(DBProperties.driver);
            String url = DBProperties.url;
            String user = DBProperties.user;
            String pwd = DBProperties.pwd;
            conn = DriverManager.getConnection(url, user, pwd);
        }catch(Exception ex){
            throw new RuntimeException(ex + "数据库连接失败");
        }
    }

    /**
     * 获得连接
     */
    public static Connection getConn() {
        return conn;
    }

    /**
     * 关闭资源
     */
    public static void close(Connection con, Statement state, ResultSet rs) {
        if(con != null) {
            try {
                con.close();
            }catch(SQLException ex){

            }
        }
        if(state != null) {
            try {
                state.close();
            }catch(SQLException ex){

            }
        }
        if(rs != null) {
            try {
                rs.close();
            }catch(SQLException ex){

            }
        }
    }

    public static void close(Connection con, Statement state) {
        if(con != null) {
            try {
                con.close();
            }catch(SQLException ex){

            }
        }
        if(state != null) {
            try {
                state.close();
            }catch(SQLException ex){

            }
        }
    }
}

4、测试类

package cn.sasa.demo4;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class TestJDBCUtil {
    public static void main(String[] args) throws SQLException {
        Connection conn = JDBCUtil.getConn();

        String sql = "SELECT * FROM product;";
        PreparedStatement pstate = conn.prepareStatement(sql);
        ResultSet rs = pstate.executeQuery();

        ArrayList<Product> plist = new ArrayList<Product>();
        while(rs.next()) {
            Product p = new Product(rs.getInt("pid"),
                    rs.getString("pname"),
                    rs.getDouble("price"),
                    rs.getString("ptype"),
                    rs.getString("create_tm")
                    );
            plist.add(p);
        }

        JDBCUtil.close(conn, pstate, rs);

        for(var p : plist) {
            System.out.println(p.getPname() +"\t"+ p.getPrice());
        }
    }
}

原文地址:https://www.cnblogs.com/SasaL/p/10243937.html

时间: 2024-11-20 14:32:19

java JDBC (五) properties配置文件的相关文章

java 顺序 读写 Properties 配置文件

java 顺序 读写 Properties 配置文件 支持中文 不乱码 java 顺序 读写 Properties 配置文件 ,java默认提供的Properties API 继承hashmap ,不是顺序读写的. 特从网上查资料,顺序读写的代码,如下, import java.util.Collections; import java.util.Enumeration; import java.util.LinkedHashSet; import java.util.Properties; i

java中读取properties配置文件用例

在近期需要部署一个项目,所以用到了配置文件. 对于读取配置文件的过程,考虑到效率问题,决定在程序启动时将配置文件内的键值读写入变量. 这样一来,之后程序每次对键值的访问就不用在读配置文件了,而是直接取变量值. 如下是简化之后的用例,展示了一种对properties文件的读取使用方法: 1.创建配置文件data.properties,文件内容如下: user=BUPT pwd=100876 2.创建存储配置文件键值用到的文件Conf.java 1 public class Conf { 2 3 p

Java中读取.properties配置文件的通用类

由于Java中读取配置文件的代码比较固定,所以可以将读取配置文件的那部分功能单独作为一个类,以后可以复用.为了能够达到复用的目的,不能由配置文件中每一个属性生成一个函数去读取,我们需要一种通用的方法读取属性,即由用户给出属性名字(作为方法参数)来获取对应属性的Value值.下面是示例代码: 1 import java.io.*; 2 import java.util.*; 3 4 import org.apache.commons.logging.Log; 5 import org.apache

Java 读取application.properties配置文件中配置

实际开发中若需要读取配置文件application.properties中的配置,代码如下.例:读取配置文件中name属性配置值: 代码如下: import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PropertiesLoaderUtils; import java.u

Java加载Properties配置文件工具类

import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * Created by yang on 2017/1/5. * 静态配置 */ public class Constants

Java Classpath及.properties配置文件

private static final String CONFIG_FILE = "logmonitor.properties"; ClassLoader cl = ClassLoader.getSystemClassLoader(); input = cl.getResourceAsStream(fileName);

Java---读取.properties配置文件空指针异常

在读取java中读取.properties配置文件空指针异常 Exception in thread "main" java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Unknown Source) at java.util.Properties.load0(Unknown Source) at java.util.Properties.load(Unknown Source) at co

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

java读取properties配置文件总结

java读取properties配置文件总结 在日常项目开发和学习中,我们不免会经常用到.propeties配置文件,例如数据库c3p0连接池的配置等.而我们经常读取配置文件的方法有以下两种: (1).使用getResourceAsStream()方法读取配置文件. (2).使用InputStream()流去读取配置文件. 注意:在使用getResourceAsStream()读取配置文件时,要特别注意配置文件的路径的写法. this.getClass.getResourceAsStream(f