java基础—连接MySQL数据库的2种常用方式(传统方式和c3p0连接池)

来源:互联网 发布:海康威视端口未生效 编辑:程序博客网 时间:2024/06/04 18:54

第一种 传统方式:
在src下建立一个db.properties文件,里面的内容如下

/*填写自己的mysql的用户名和密码*/user=rootpassword=root/*localhost:IP地址,本机可以省略,或者localhost,或者127.0.0.1*/url=jdbc:mysql://localhost/数据库名driverName=com.mysql.jdbc.Driver

再建立一个java文件,代码如下:

public class MyDBHelp {    static String url,user,password,driver;    static{//为了提高效率,设置成静态的        try {            Properties pro = new Properties();            pro.load(new FileInputStream("src/db.properties"));             driver = pro.getProperty("driverName");             url = pro.getProperty("url");             user = pro.getProperty("user");             password = pro.getProperty("password");            //1.加载驱动            Class.forName(driver);        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * 功能:获取连接     * @return可用的连接对象     * @throws Exception     */    public static Connection getConnection() throws Exception{        //2.获取连接        Connection connection = DriverManager.getConnection(url, user, password);        return connection;    }    /**     * 功能:关闭资源     * @param set     * @param statement     * @param connection     * @throws Exception     */    public static void close(ResultSet set,Statement statement,Connection connection) throws Exception{        if(set!=null)            set.close();        if(statement!=null)            statement.close();        if(connection!=null)            connection.close();    }}

当需要调用这个方式时只需要调用 MyDBHelp.getConnection()方法就可以,然后它会返回一个Connection对象我们获取到这个对象就可以进行自己想要的操作了,最后不要忘了关闭数据库连接,我们可以调用上面写好的close()方法,下面再介绍一种开源的框架c3p0连接池。

第二种方式 c3p0连接池
先说一下这种方式的好处,传统的方式每次连接耗时较长,效率低,如果每次使用完不关闭连接,则容易导致内存泄漏,而c3p0连接池采用缓冲池的思想完美的解决了上面的缺点,我们来看一下怎么配置吧
先下载c3p0的jar包
地址:http://pan.baidu.com/s/1skXPvpr
下载完成后解压,把jar包复制到对应项目的libs(自己提前建立一个libs文件夹)目录下,然后右键Build Path选择 add那一项就会把jar包和项目关联,接下来把配置文件也复制到src目录
配置文件里面jdbc:mysql://(此处填写ip地址,如果是本机可以省略)/girls(数据库名称)
注意:配置文件的名称不能更改!
java代码如下:

public class MyDBHelp {    static ComboPooledDataSource cpds;    static{        //1.创建连接池对象         cpds = new ComboPooledDataSource("hello");    }    /**     * 功能:获取连接     * @return可用的连接对象     * @throws Exception     */    public static Connection getConnection() throws Exception{        //2.获取连接        return cpds.getConnection();    }    /**     * 功能:关闭资源     * @param set     * @param statement     * @param connection     * @throws Exception     */    public static void close(ResultSet set,Statement statement,Connection connection) throws Exception{        if(set!=null)            set.close();        if(statement!=null)            statement.close();        if(connection!=null)            connection.close();    }}

具体的调用方法和方式一一样,过段时间给大家分享一个DButils工具类,他也是一个开源框架,能够很方便的实现增删改查。

阅读全文
0 0
原创粉丝点击