java使用jdbc連接數(shù)據(jù)庫簡單實(shí)例
本文為大家分享了java使用jdbc連接數(shù)據(jù)庫的具體代碼,供大家參考,具體內(nèi)容如下
package com.tr.jdbc;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp2.BasicDataSource;
public class CollectionFactory {
private final static String dbDriver = "com.mysql.jdbc.Driver";
private final static String dbUrl="jdbc:mysql://localhost:3306/xtest?useUnicode=true&characterEncoding=UTF-8" ;
private final static String dbUser="root";
private final static String dbpwd="root";
private static BasicDataSource dataSource;
//創(chuàng)建dbcp的簡單數(shù)據(jù)源并初始化相關(guān)屬性
static{
dataSource = new BasicDataSource();
dataSource.setDriverClassName(dbDriver);
dataSource.setUrl(dbUrl);
dataSource.setUsername(dbUser);
dataSource.setPassword(dbpwd);
//指定數(shù)據(jù)庫連接池初始化連接數(shù)
dataSource.setInitialSize(10);
//設(shè)定同時(shí)向數(shù)據(jù)庫申請(qǐng)的最大連接數(shù)
dataSource.setMaxTotal(50);
//設(shè)置連接池中保持的最少連接數(shù)量
dataSource.setMinIdle(5);
//其他屬相...參考Apache的公開文檔
}
//創(chuàng)建數(shù)據(jù)庫連接對(duì)象--并且多線程并發(fā)處理(注意Connection導(dǎo)的是Java.sql的包)
public static synchronized Connection creatConnection(){
Connection conn = null;
if(dataSource!=null&&!dataSource.isClosed()){
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
public static void main(String[] args) {
String sql = "select * from s_t_user";
Connection conn = creatConnection();
Statement statement = null;
ResultSet resultSet = null;
try {
statement = conn.createStatement();
resultSet= statement.executeQuery(sql);
int row = 0;
while(resultSet.next()){
row++;
System.out.println("記錄行"+row+"col2:"+resultSet.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
一定要注意不能導(dǎo)錯(cuò)包,我剛才就是因?yàn)锽asicDataSource的包導(dǎo)錯(cuò)了,寫成了import org.apache.tomcat.dbcp.dbcp2.BasicDataSource;應(yīng)該是import org.apache.commons.dbcp2.BasicDataSource; 而一直報(bào)這樣的錯(cuò)誤:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java進(jìn)制轉(zhuǎn)換工具類實(shí)現(xiàn)減少參數(shù)長度
這篇文章主要為大家介紹了java進(jìn)制轉(zhuǎn)換工具類實(shí)現(xiàn)減少參數(shù)長度示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
java多線程之并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore
這篇文章主要為大家介紹了java并發(fā)工具類CountDownLatch,CyclicBarrier和Semaphore ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
線程池之newFixedThreadPool定長線程池的實(shí)例
這篇文章主要介紹了線程池之newFixedThreadPool定長線程池的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java 反射獲取類詳細(xì)信息的常用方法總結(jié)
Java 反射獲取類詳細(xì)信息的常用方法總結(jié),需要的朋友可以參考一下2013-03-03
Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Springmvc項(xiàng)目web.xml中servlet-mapping路徑映射配置注意說明
這篇文章主要介紹了Springmvc項(xiàng)目web.xml中servlet-mapping路徑映射配置注意說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

