目錄
第一步:導(dǎo)入jar包
?第二步:配置數(shù)據(jù)庫參數(shù)
Oracle配置參數(shù):xml中配置
Mysql配置參數(shù):xml方式配置
第三步:寫一個(gè)工具類JDBCUtils
第四步:連接數(shù)據(jù)庫
第一步:導(dǎo)入jar包
commons-dbutils-1.6.jar,jar包大家就到網(wǎng)上搜吧
?第二步:配置數(shù)據(jù)庫參數(shù)
Oracle配置參數(shù):xml中配置
<user mark="{VE}" desc="數(shù)據(jù)庫用戶">root</user>
<password mark="{VE}" desc="數(shù)據(jù)庫密碼">lyt\!QAZ123456</password>
<url mark="{VE}" desc="數(shù)據(jù)庫url">jdbc:oracle:thin:@//127.0.0.1:1521/OADB</url>
<driverClass mark="{VE}" desc="驅(qū)動(dòng)">oracle.jdbc.driver.OracleDriver</driverClass>
重點(diǎn)一:Oracle數(shù)據(jù)庫的JDBC連接分為三種,服務(wù)名(SERVICE_NAME)、SID和TNSName三種,所以在寫數(shù)據(jù)庫的url一定要先確認(rèn)是那種JDBC連接,下面給出三種JDBC連接的書寫方式:
SERVICE_NAME方式:
jdbc:oracle:thin:@//<host>:<port>/<SERVICE_NAME> ?
SID方式:
jdbc:oracle:thin:@<host>:<port>:<SID>?或:jdbc:oracle:thin:@<host>:<port>/<SID>
TNSName連接方式:
jdbc:oracle:thin:@<TNSName>?
?重點(diǎn)二:oracle的密碼中包含!、@、#等時(shí)需要轉(zhuǎn)移
例如我的密碼是lyt!QAZ123456?這個(gè)時(shí),在配置文件中要加入\進(jìn)行轉(zhuǎn)移,即書寫為lyt\!QAZ123456
Mysql配置參數(shù):xml方式配置
<user mark="{VE}" desc="數(shù)據(jù)庫用戶">root</user>
<password mark="{VE}" desc="數(shù)據(jù)庫密碼">lyt123456</password>
<url mark="{VE}" desc="數(shù)據(jù)庫url">jdbc:mysql://127.0.0.1:3306/test3?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8</url>
<driverClass mark="{VE}" desc="驅(qū)動(dòng)">com.mysql.jdbc.Driver</driverClass>
重點(diǎn):數(shù)據(jù)庫url中如果出現(xiàn)&符號(hào)時(shí),需要轉(zhuǎn)義為&
第三步:寫一個(gè)工具類JDBCUtils
可以直接拿來用的工具類~~文章來源:http://www.zghlxwxcb.cn/news/detail-646123.html
import com.seeyon.ctp.common.log.CtpLogFactory;
import com.seeyon.ctp.rest.resources.MySSOResources;
import org.apache.commons.logging.Log;
import java.sql.*;
/**
* @author : lvyitingx
* @date : 2023-04-03 16:00
**/
public class JDBCUtils {
private static final Log logger = CtpLogFactory.getLog(JDBCUtils.class);
private static final String user = System.getProperty("xnsy.membersync.user");
private static final String password = System.getProperty("xnsy.membersync.password");
private static final String url = System.getProperty("xnsy.membersync.url");
private static final String driverClass = System.getProperty("xnsy.membersync.driverClass");
public static Connection getConnection(){
Connection con = null;
try {
//獲取參數(shù)
logger.info("數(shù)據(jù)庫參數(shù):"+user +password +url +driverClass);
//2.加載驅(qū)動(dòng)
Class.forName(driverClass);
//3.獲取連接
con = DriverManager.getConnection(url,user,password);
} catch (Exception e) {
logger.info("數(shù)據(jù)庫連接錯(cuò)誤"+e);
throw new RuntimeException(e);
}
return con;
}
/**
* 關(guān)閉連接、Statement和ResultSet
* @param con
* @param ps
*/
public static void closeResource(Connection con, Statement ps, ResultSet rs) {
//資源關(guān)閉
try {
if(ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(rs != null)
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
第四步:連接數(shù)據(jù)庫
@Path("updateMember")
@GET
public void updateMember() {
Connection con = null;
PreparedStatement ps = null;
ResultSet resultSet = null;
List<String> midMembers = null;
try {
midMembers = new ArrayList<>();
con = JDBCUtils.getConnection();
String sql = "select code from mid_org_person";
ps = con.prepareStatement(sql);
resultSet = ps.executeQuery();
logger.info("獲取結(jié)果成功"+resultSet);
//獲取中間表人員編號(hào)
while (resultSet.next()) {
midMembers.add(resultSet.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
//關(guān)閉資源
JDBCUtils.closeResource(con, ps, resultSet);
}
}
到這里就可以連接成功啦~~文章來源地址http://www.zghlxwxcb.cn/news/detail-646123.html
到了這里,關(guān)于Java連接Oracle數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!