connDB

jar包
mysql-connector-java-5.1.7-bin.jar

db.properties文件

#oracle数据库
#driver=oracle.jdbc.driver.OracleDriver
#jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
#user=scott
#password=tiger

#mysql数据库
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test
user=root
password=root

测试类,实现连接mysql数据库:
通过Driver实现类对象连接数据库

public void testDriver() throws SQLException {
//      通过Driver实现类对象连接数据库
        Driver driver = new com.mysql.jdbc.Driver();
//      协议:子协议://数据库所在的主机地址:数据库端口号/数据库名
//      准备连接数据库的基本信息  url user password
        String url = "jdbc:mysql://localhost:3306/test";
        Properties info = new Properties();
        info.put("user", "root");
        info.put("password", "root");
//      调用Driver接口的 connect(url,info)获取连接对象
        Connection connect = driver.connect(url, info);
        System.out.println(connect);
    }

/*
* 编写一个通用的方法,在不修改源程序情况下获得任何数据库的连接
* 解决:把数据库驱动Driver实现类的全类名、url、user、password放入一个
* 配置文件中,可以修改配置文件实现和具体的数据库连接
*/

public Connection getConnection() throws Exception{
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
//      读取类路径下的jdbc.properties文件
        FileReader fr = new FileReader(new File("jdbc.properties"));
//      InputStream in =
//getClass().getClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties = new Properties();
        properties.load(fr);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");
//      通过反射创建driver对象
        Driver driver = (Driver) Class.forName(driverClass).newInstance();
        Properties info = new Properties();
        info.put("user", user);
        info.put("password", password);
        Connection connection = driver.connect(jdbcUrl, info);
        return connection;
    }

    @org.junit.Test
    public void testGetConnection() throws Exception{
        System.out.println(getConnection());
    }

DriverManager 驱动管理类

public class TestDriverManager {
    /*
     * DriverManager 驱动的管理类
     */
    @Test
    public void testDriverManager() throws Exception {
//      准备连接的数据库 的基本信息
        String driverClass = null;
        String jdbcUrl = null;
        String user = null;
        String password = null;
//      读取类路径下的jdbc.properties文件
        InputStream in =
                getClass().getClassLoader().getResourceAsStream("jdbc.properties");
        Properties properties = new Properties();
        properties.load(in);
        driverClass = properties.getProperty("driver");
        jdbcUrl = properties.getProperty("jdbcUrl");
        user = properties.getProperty("user");
        password = properties.getProperty("password");

//      加载驱动程序(对应的Driver 实现类中 有注册驱动的静态代码块)
//      DriverManager.registerDriver(
//              (Driver)Class.forName(driverClass).newInstance());
//      加载时,已经注册过了
        Class.forName(driverClass);
//      通过DriverManager 的 getConnection(url,user,password) 获取数据库连接
        Connection connection = DriverManager.getConnection(jdbcUrl, user,password);
        System.out.println(connection);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值