java使用jdbc連接數(shù)據(jù)庫簡單實例
本文為大家分享了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ù)據(jù)庫申請的最大連接數(shù)
dataSource.setMaxTotal(50);
//設(shè)置連接池中保持的最少連接數(shù)量
dataSource.setMinIdle(5);
//其他屬相...參考Apache的公開文檔
}
//創(chuàng)建數(shù)據(jù)庫連接對象--并且多線程并發(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)錯包,我剛才就是因為BasicDataSource的包導(dǎo)錯了,寫成了import org.apache.tomcat.dbcp.dbcp2.BasicDataSource;應(yīng)該是import org.apache.commons.dbcp2.BasicDataSource; 而一直報這樣的錯誤:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項目統(tǒng)一枚舉轉(zhuǎn)換實踐過程
文章介紹了在Spring Boot項目中統(tǒng)一枚舉轉(zhuǎn)換的實踐,通過使用自定義的父枚舉接口和AttributeConverter、ConverterFactory、JsonSerializer和JsonDeserializer等工具,實現(xiàn)了枚舉與數(shù)據(jù)庫、請求參數(shù)、響應(yīng)參數(shù)和消息參數(shù)之間的自動轉(zhuǎn)換2024-12-12
sprintboot使用spring-security包,緩存內(nèi)存與redis共存方式
這篇文章主要介紹了sprintboot使用spring-security包,緩存內(nèi)存與redis共存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10
淺析Spring Boot單體應(yīng)用熔斷技術(shù)的使用
這篇文章主要介紹了淺析Spring Boot單體應(yīng)用熔斷技術(shù)的使用,幫助大家更好的理解和使用spirngboot框架,感興趣的朋友可以了解下2021-01-01
SpringBoot 創(chuàng)建對象常見的幾種方式小結(jié)
Spring Boot中創(chuàng)建對象的幾種常見方式包括使用@Component、@Service、@Repository或@Controller注解,本文就來詳細的介紹一下,感興趣的可以了解一下2024-11-11
UrlDecoder和UrlEncoder使用詳解_動力節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了UrlDecoder和UrlEncoder使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
SpringBoot實現(xiàn)郵件發(fā)送的示例代碼
電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。本文詳細為大家介紹了SpringBoot實現(xiàn)發(fā)送電子郵件功能的示例代碼,需要的可以參考一下2022-04-04

