Java连接Oracle数据库

目录

第一步:导入jar包

 第二步:配置数据库参数

Oracle配置参数:xml中配置

Mysql配置参数:xml方式配置

第三步:写一个工具类JDBCUtils

第四步:连接数据库


第一步:导入jar包

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

Java连接Oracle数据库_第1张图片

 第二步:配置数据库参数

Oracle配置参数:xml中配置

   root
   lyt\!QAZ123456
   jdbc:oracle:thin:@//127.0.0.1:1521/OADB
   oracle.jdbc.driver.OracleDriver

重点一:Oracle数据库的JDBC连接分为三种,服务名(SERVICE_NAME)、SID和TNSName三种,所以在写数据库的url一定要先确认是那种JDBC连接,下面给出三种JDBC连接的书写方式:

SERVICE_NAME方式:

jdbc:oracle:thin:@//:/  

SID方式:

jdbc:oracle:thin:@:: 或:jdbc:oracle:thin:@:/

TNSName连接方式:

jdbc:oracle:thin:@ 

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

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

Mysql配置参数:xml方式配置

root
lyt123456
jdbc:mysql://127.0.0.1:3306/test3?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8
com.mysql.jdbc.Driver

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

第三步:写一个工具类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 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)