Java连接Oracle数据库完整步骤记录

 更新时间:2024年01月09日 09:17:10   作者:小吕学编程  
数据库的操作是当前系统开发必不可少的开发部分之一,下面这篇文章主要给大家介绍了关于Java连接Oracle数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

第一步:导入jar包

commons-dbutils-1.6.jar,jar包大家就到网上搜吧

第二步:配置数据库参数

Oracle配置参数:xml中配置

   <user mark="{VE}" desc="数据库用户">root</user>
   <password mark="{VE}" desc="数据库密码">lyt\!QAZ123456</password>
   <url mark="{VE}" desc="数据库url">jdbc:oracle:thin:@//127.0.0.1:1521/OADB</url>
   <driverClass mark="{VE}" desc="驱动">oracle.jdbc.driver.OracleDriver</driverClass>

重点一:Oracle数据库的JDBC连接分为三种,服务名(SERVICE_NAME)、SID和TNSName三种,所以在写数据库的url一定要先确认是那种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> 

 重点二:oracle的密码中包含!、@、#等时需要转移

例如我的密码是lyt!QAZ123456 这个时,在配置文件中要加入\进行转移,即书写为lyt\!QAZ123456

Mysql配置参数:xml方式配置

<user mark="{VE}" desc="数据库用户">root</user>
<password mark="{VE}" desc="数据库密码">lyt123456</password>
<url mark="{VE}" desc="数据库url">jdbc:mysql://127.0.0.1:3306/test3?useUnicode=true&amp;characterEncoding=UTF-8&amp;userSSL=false&amp;serverTimezone=GMT%2B8</url>
<driverClass mark="{VE}" desc="驱动">com.mysql.jdbc.Driver</driverClass>

重点:数据库url中如果出现&符号时,需要转义为&amp;

第三步:写一个工具类JDBCUtils

可以直接拿来用的工具类~~

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 {
            //获取参数
            logger.info("数据库参数:"+user +password +url +driverClass);
            //2.加载驱动
            Class.forName(driverClass);
            //3.获取连接
            con = DriverManager.getConnection(url,user,password);
        } catch (Exception e) {
            logger.info("数据库连接错误"+e);
            throw new RuntimeException(e);
        }
        return con;
    }

    /**
     * 关闭连接、Statement和ResultSet
     * @param con
     * @param ps
     */
    public static void closeResource(Connection con, Statement ps, ResultSet rs) {
        //资源关闭
        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();
        }
    }
}

第四步:连接数据库

	@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("获取结果成功"+resultSet);
            //获取中间表人员编号
            while (resultSet.next()) {
                midMembers.add(resultSet.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            JDBCUtils.closeResource(con, ps, resultSet);
        }
    }

到这里就可以连接成功啦~~

总结

到此这篇关于Java连接Oracle数据库的文章就介绍到这了,更多相关Java连接Oracle数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring中的Devtools源码解析

    Spring中的Devtools源码解析

    这篇文章主要介绍了Spring中的Devtools源码解析,Spring中的Devtools是一个开发工具,旨在提高开发人员的生产力和开发体验,它提供了一系列功能,包括自动重启、热部署、远程调试等,使开发人员能够更快速地进行代码修改和调试,需要的朋友可以参考下
    2023-10-10
  • Java接口统一样式返回模板简介

    Java接口统一样式返回模板简介

    这篇文章主要介绍了Java接口统一样式返回模板简介,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java编程常见内存溢出异常与代码示例

    Java编程常见内存溢出异常与代码示例

    这篇文章主要介绍了Java编程常见内存溢出异常与代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • IntelliJIDEA中实现SpringBoot多实例运行的两种方式

    IntelliJIDEA中实现SpringBoot多实例运行的两种方式

    在微服务开发中,经常需要同时启动多个服务实例进行测试或模拟集群环境,‌IntelliJ IDEA‌作为Java开发者常用工具,提供了灵活的多实例启动支持,本文将详细介绍如何通过修改配置‌和批量启动‌两种方式实现SpringBoot多实例运行,并解决常见问题,需要的朋友可以参考下
    2025-03-03
  • Java中文件创建于写入内容的常见方法

    Java中文件创建于写入内容的常见方法

    在日常开发中,肯定离不开要和文件打交道,今天就简单罗列一下平时比较常用的创建文件并向文件中写入数据的几种方式,希望对大家有一定的帮助
    2023-10-10
  • JavaWeb之Servlet注册页面的实现示例

    JavaWeb之Servlet注册页面的实现示例

    注册页面是很多网站都会是使用的到,本文主要介绍了JavaWeb之Servlet注册页面的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • SpringDataJPA实体类关系映射配置方式

    SpringDataJPA实体类关系映射配置方式

    这篇文章主要介绍了SpringDataJPA实体类关系映射配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Feign使用@PathVariable方式

    Feign使用@PathVariable方式

    Feign使用@PathVariable注解在URL中插入变量,类似于SpringMVC的用法,通过示例展示了如何使用该注解,并在实际调用中替换占位符
    2024-11-11
  • Java源码解析HashMap简介

    Java源码解析HashMap简介

    今天小编就为大家分享一篇关于Java源码解析HashMap简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java中线程执行状态检测的四种可靠方法

    Java中线程执行状态检测的四种可靠方法

    在多线程开发中,开发者常需监控子线程状态,这个问题关系到系统的可靠性和错误处理能力,需要一套完善的方案来解决,下面我们来看看四种从基础到高级的解决方案吧
    2025-05-05

最新评论