您的位置:首页 > 编程语言 > Java开发

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

2017-10-17 00:11 519 查看
第一种 传统方式:

在src下建立一个db.properties文件,里面的内容如下

/*
填写自己的mysql的用户名和密码
*/
user=root
password=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 ComboPooledDataSo
8dd8
urce("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工具类,他也是一个开源框架,能够很方便的实现增删改查。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐