初学数据库小结
最近学习jdbc连接数据库的基础,dao模式和DBUtils,这里主要总结下连接数据库的知识和一些问题。
**一:**通过properties配置文件连接数据库
static {
Properties properties = new Properties();//创建properties对象
InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");//调用类加载器的方法加载资源,返回字节流
try {
properties.load(is);
} catch (IOException e) {
e.printStackTrace();
}
driverclass = properties.getProperty("driverclass");//获取驱动
url = properties.getProperty("url");//获取url
name = properties.getProperty("name");获取用户名
password = properties.getProperty("password");//获取密码
}
上面的jdbc.properties是创建在src下面的properties文件,内容如下
driverclass = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost/test
name = root
password = 440222
这里就是你需要连接的数据库的信息,test为数据库名字。
**二:**c3p0
使用方法:首先需要导入c3p0的jar包
链接:https://pan.baidu.com/s/1QK0_x-1ETOXFgH_eDj29YQ 提取码:30du
注意的是 在9.1.2以前只需要导入c3p0的jar包,我给的版本还需要导入它的依赖包
mchange-commons-java-0.2.12,不然会出现 java.lang.NoClassDefFoundError
然后需在src下面创建一个叫c3p0-config.xml的文件
记住名字一定要一样,这是默认的配置文件名
我的配置如下:
<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost/test?useSSL=false</property>
<property name="user">root</property>
<property name="password">440222</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">20</property>
<property name="minPoolSize">10</property>
<property name="maxPoolSize">50</property>
<property name="maxStatements">100</property>
</default-config>
</c3p0-config>
这里关于?useSSL=false这一参数是MySQL版本较高的需要服务器验证,不添加这个参数eclipse会一直警告。
最后只需要在你写的JDBCutils工具类的获取连接方法中使用c3p0就是了
public class JDBCUtil {
static ComboPooledDataSource dataSource = new ComboPooledDataSource();//创建连接池
public static Connection getConn() {
* c3p0数据库连接池
*/
Connection conn = null;
try {
conn = dataSource.getConnection();获得连接
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
}
在需要连接的时候Connection conn = JDBCUtil.getConn();
就行了。
IT初学者第一次发博客,有什么问题请多指教,希望能够一直坚持下去。