JDBC连接数据库的步骤都有哪些?

 我来答
雪墨忆西法0n
2017-12-26
知道答主
回答量:42
采纳率:0%
帮助的人:8.4万
展开全部
1、利用DriverManager连接数据库
1.1最简单粗暴的方法:
public static Connection getConnection() throws ClassNotFoundException{

String url="jdbc:mysql:///jdbc";//我连的数据库是MySQL中的jdbc数据库
String username="root";
String password="";//我的MySQL数据库的密码是空字符串
String driverClass="com.mysql.jdbc.Driver";
Connection ct=null;
Class.forName(driverClass);
try {
ct=DriverManager.getConnection(url, username, password);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ct;
}

1.2利用io流读取文件的方式;
public static Connection getConnection() throws ClassNotFoundException, IOException {
String driver = null;
String jdbcurl = null;
String user = null;
String password = null;
// 读取类路径下的jdbc.propreties文件(配置文件)
InputStream in = JDBCtool.class.getClassLoader().getResourceAsStream("jdbc.properties");
// 以上为输入流
Properties pt = new Properties();// 创建properties
pt.load(in);// 取键值对(加载对应的输入流)
driver = pt.getProperty("driver");
jdbcurl = pt.getProperty("jdbcurl");
user = pt.getProperty("user");
password = pt.getProperty("password");
Connection ct = null;
Class.forName(driver);
try {
ct = DriverManager.getConnection(jdbcurl, user, password);

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ct;
}

将diver、jdbcurl、user、password这些信息存储到类路径下的jdbc.propreties文件中(以下是该文件中的内容)

2、利用c3p0连接池连接数据库
准备工作:
1、导入c3p0的jar包,切记一定要把其相依赖的jar包——mchange-commons-java-0.2.3.4.jar也导进来哦;
2、编写c3p0-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="helloc3p0">
<!-- 连接数据源的基本属性 -->
<property name="user">root</property>
<property name="password"></property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///jdbc</property>

<!-- 若数据库中连接数不足时,一次向数据库服务器申请多少个连接 -->
<property name="acquireIncrement">5</property>
<!-- 初始化数据库连接池时连接的数量 -->
<property name="initialPoolSize">5</property>
<!-- 数据库连接池中的最小的数据库连接数 -->
<property name="minPoolSize">5</property>
<!-- 数据库连接池中的最大的数据库连接数 -->
<property name="maxPoolSize">10</property>
<!-- c3p0数据库连接可以维护的statement的个数 -->
<property name="maxStatements">20</property>
<!-- 每个连接同时可以使用的statement对象的个数 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
获取数据库连接的代码如下:
private static DataSource ds=null;
//数据库连接池应只被初始化一次
static{
ds=new ComboPooledDataSource("helloc3p0");
}
//获取数据库连接
public static Connection getConnection() throws ClassNotFoundException, SQLException, IOException{
return ds.getConnection();
}

3、利用DBCP连接池连接数据库——本人基本不用这个方法,故不详细阐述了
总结:强烈推荐使用第二种方式c3p0连接池的方式!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式