Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类

本文主要是介绍Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mysql数据库的驱动jar包:mysql-connector-java-5.1.18-bin.jar

sqlserver数据库的驱动jar包:sqljdbc.jar

orcle数据库的驱动jar包:orcle*.jar,orcle根据数据库不同版本下载不同的驱动jar包

一定要有驱动jar包才能连接数据库

BaseDao类(驱动类):


package com.dao;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;public class BaseDao {/*** 数据库连接Connection*/public Connection con;/*** 结果集ResultSet*/public ResultSet rs;/*** JDBC连接数据库路径字符串*/private String url;/*** JDBC连接数据库账户*/private String user;/*** JDBC连接数据库密码*/private String password;/*** 数据库驱动加载类*/private String driver;/*** 无参构造函数*/public BaseDao(){//连接sqlserver数据库//this.setBaseDao("com.microsoft.sqlserver.jdbc.SQLServerDriver","jdbc:sqlserver://127.0.0.1;databasename=WebFileSystem","sa","NewPassword");//连接mysql数据库this.setBaseDao("com.mysql.jdbc.Driver","jdbc:mysql://127.0.0.1/webfilesystem","root","root");//连接orcle数据库this.setBaseDao("oracle.jdbc.driver.OracleDriver","jdbc:oracle://127.0.0.1/webfilesystem","root","root");}/*** 有参构造函数*/public BaseDao(String driver, String url, String user, String password){this.driver = driver;this.url = url;this.user = user;this.password = password;}/*** 设置JDBC连接数据库路径、账号、密码*/public void setBaseDao(String driver, String url, String user, String password){this.driver = driver;this.url = url;this.user = user;this.password = password;}/*** 获取数据库连接对象Connection*/public Connection getConnection(){try {Class.forName(driver);con = DriverManager.getConnection(url,user,password);}catch (ClassNotFoundException e) {e.printStackTrace();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}return con;}/*** 关闭资源的函数*/public void closeAll(){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}}if(con != null){try {con.close();} catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}}}/*** 增加、删除、修改*/public int executeUpdate(String sql){int rows = 0;try {getConnection();PreparedStatement ps = con.prepareStatement(sql);rows = ps.executeUpdate();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}finally{closeAll();}return rows;}/*** 增加、删除、修改*/public int executeUpdate(String sql, Object[] pre){int rows = 0;try{getConnection();PreparedStatement ps = con.prepareStatement(sql);if(pre != null){for(int i = 0; i < pre.length; i++){ps.setObject(i+1, pre[i]);}}rows = ps.executeUpdate();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}finally{closeAll();}return rows;}/*** 增加、删除、修改*/public int executeUpdate(String sql, List<Object> pre){int rows = 0;try{getConnection();PreparedStatement ps = con.prepareStatement(sql);if(pre != null){for(int i = 0; i < pre.size(); i++){ps.setObject(i+1, pre.get(i));}}rows = ps.executeUpdate();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}finally{closeAll();}return rows;}/*** 查询多行多列数据到成员ResultSet对象*/public ResultSet executeQuery(String sql){try{getConnection();PreparedStatement ps = con.prepareStatement(sql);rs = ps.executeQuery();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {}return rs;}/*** 查询多行多列数据到成员ResultSet对象*/public ResultSet executeQuery(String sql, Object[] pre){try{getConnection();PreparedStatement ps = con.prepareStatement(sql);if(pre != null){for(int i = 0; i < pre.length; i++){ps.setObject(i+1, pre[i]);}}rs = ps.executeQuery();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}return rs;}/*** 查询多行多列数据到成员ResultSet对象*/public ResultSet executeQuery(String sql, List<Object> pre){try{getConnection();PreparedStatement ps = con.prepareStatement(sql);if(pre != null){for(int i = 0; i < pre.size(); i++){ps.setObject(i+1, pre.get(i));}}rs = ps.executeQuery();}catch (SQLException e) {e.printStackTrace();}catch (Exception e) {e.printStackTrace();}return rs;}}


这篇关于Java使用JDBC连接mysql、sqlserver、orcle数据库的baseDao类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894801

相关文章

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完