zoukankan      html  css  js  c++  java
  • Java连接Mysql:通过配置文件

    转载自:https://blog.csdn.net/mrw456/article/details/49718235

    1、导入数据库驱动jar包,与及编写数据库配置文件(mysql.properties),mysql.properties放在项目的src目录下[本例使用的数据库为Mysql5.5,数据库驱动jar包为mysql-connector-java-5.0.8-bin.jar]
    mysql.properties:

    name=com.mysql.jdbc.Driver                    //数据库驱动名称
    url=jdbc:mysql://127.0.0.1:3306/dormitory //数据库连接url
    user=root                                               //数据库连接用户名
    password=123456                                 //数据库连接密码

    2、编写mysql.properties读取属性类Mysqlread.java,负责读取mysql.properties中的属性名称
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.InputStream;
    import java.util.Iterator;
    import java.util.Properties;
    public class Mysqlread {
        public static final String [] message=readurl();
        private static String[] readurl() {
            Properties prop=new Properties();
            String [] message=new String[4];
            int i=0;
            try {
                InputStream in=new BufferedInputStream(new FileInputStream("src/mysql.properties"));
                prop.load(in);
                message[0]=prop.getProperty("name");
                message[1]=prop.getProperty("url");
                message[2]=prop.getProperty("user");
                message[3]=prop.getProperty("password");
                in.close();
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
            return message;
        }
    }

    3、编写数据库连接类MysqlOperation.java
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class MysqlOperation {
        private static final String[] mysqlmessage=Mysqlread.message;
        public static Connection getConnection()
        {
            Connection conn=null;
            try {
                Class.forName(mysqlmessage[0]);
                conn=DriverManager.getConnection(mysqlmessage[1],mysqlmessage[2],mysqlmessage[3]);
            } catch (ClassNotFoundException e) {
                System.out.println("驱动类库不能发现");
            } catch (SQLException e) {
                System.out.println("SQL异常");
            }
            return conn;
        }
        public static void close(Connection conn){
            if(conn!=null)
            {
                try {
                    conn.close();
                } catch (SQLException e) {
                    System.out.println("SQL异常");
                }
            }
        }
        public static void close(Statement statement){
            if(statement!=null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                statement=null;
            }
        }
        public static void close(ResultSet rs)
        {
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                rs=null;
            }
        }
    }

    4、编写一个测试类测试上述代码是否成功
    import static org.junit.Assert.*;
    import java.sql.Connection;
    import org.junit.Test;
    import com.mrw.util.MysqlOperation;
    public class TestPropertisread {
        @Test
        public void test() {
            Connection conn=MysqlOperation.getConnection();
            System.out.println(conn);
            MysqlOperation.close(conn);
        }
    }

    运行结果为:

  • 相关阅读:
    【洛谷4657】[CEOI2017] Chase(一个玄学的树形DP)
    Tarjan在图论中的应用(二)——用Tarjan来求割点与割边
    Tarjan在图论中的应用(一)——用Tarjan来实现强连通分量缩点
    jquery放大镜
    自定义上传按钮样式
    一些设计理论资料
    jquery滚动条
    全栈工程师到底有什么用(转)
    巧用CSS文件愚人节恶搞(转)
    仿双色球-随机产生7个数字
  • 原文地址:https://www.cnblogs.com/hd92/p/13555046.html
Copyright © 2011-2022 走看看