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

相关文章

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区