首先,我们需要准备数据库连接所需的jar包。目前mysql的驱动包可能比较好找,但是oracle和sqlserver的有很多,要找到能用的要花一点点心思,这里直接把下载地址和版本发送出来。

Mysql:

  驱动程序包:mysql-connector-java-5.1.38.jar

  下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.38
     驱动:com.mysql.jdbc.driver
     url: jdbc:mysql://localhost:3306/database_name

SQL Server:

  驱动程序包:mssql-jdbc-6.2.2.jre8.jar
  下载地址:http://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc/6.2.2.jre8
  驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver
  url:jdbc:jtds:sqlserver://localhost:1433;database_name=database_name

Oracle:

  驱动程序包:ojdbc6-11.2.0.3.jar
  下载地址:http://mvnrepository.com/artifact/oracle/ojdbc6/11.2.0.3
  驱动:oracle.jdbc.driver.OracleDriver
  url:jdbc:oracle:thin:@localhost:1521:database_name

如果出现dependency引入失败,可以手动下载jar包到自己本地的maven仓库再进行引入。本地maven仓库一般在/user/.m2/repository文件夹下。
以下是mysql数据库的示例:
public void mysqlJDBCTest(){
//创建数据库连接对象、预编译的statement对象和结果
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
//加载数据库驱动(因为可能出现异常,所以使用try/catch)
Class.forName("com.mysql.jdbc.Driver");
//配置数据库相关信息:url,用户名,密码
String url = "jdbc:mysql://localhost:3306/xlanime";
String username = "root";
String password = "123456";
//获取数据库连接
connection = DriverManager.getConnection(url,username,password);
//编写sql语句
String sqlStr = "select * from user";
//预编译sql语句
preparedStatement = connection.prepareStatement(sqlStr);
//执行sql语句,并获取返回的结果
resultSet = preparedStatement.executeQuery();
//获取并遍历结果集
while (resultSet.next()){
//获取数据,注意与数据库对应
String u_name = resultSet.getString("username");
int u_age = resultSet.getInt("age");
String u_salary = resultSet.getString("salary");
System.out.println("name : "+u_name+",age "+u_age+",salary "+u_salary);
}
}catch (Exception e){
e.printStackTrace();
}
}

如果是SqlServer或者Oracle,直接把驱动和数据库url更换成对应的就可以了。(当然,用户名密码要正确)

差不多就是这样了,希望对大家有用。尤其是sqlserver的这个url,注意端口号后面是分号,然后数据库名需要写成database_name=数据库名这样才行。和Mysql是不一样的。

参考原文:https://blog.csdn.net/qq_22930287/article/details/79821917

Mysql、Oracle、SqlServer的JDBC连接实现和对比(提供驱动包)的更多相关文章

  1. mysql,oracle,sqlserver使用jdbc连接数据库总结

    jdbc连接数据是javaweb开发的一个重点,今天特此来总结一下,加深记忆. jdbc连接数据库一共分为三步: 1:加载驱动 需要去下载各自的驱动jar包,可以去网上搜索一下. 模板:加载驱动程序: ...

  2. JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库

    首先是JDBC 连接Oracle  数据库 package com.util; import com.pojo.UserInfo; import java.sql.*; public class DB ...

  3. springboot+mybatis集成多数据源MySQL/Oracle/SqlServer

    日常开发中可能时常会遇到一些这样的需求,业务数据库和第三方数据库,两个或多个数据库属于不同数据库厂商,这时候就需要通过配置来实现对数据库实现多源处理.大致说一下我的业务场景,框架本身是配置的sprin ...

  4. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  5. mysql中,由于JDBC连接限制了最大包长度1024B,即1KB,报错“max_allowed_packet' ”

    报错:org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback; SQL [INS ...

  6. JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)

    * 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接) import java.sql.Connection; import java.sql.DriverManager; import ...

  7. SQL SERVER 创建远程数据库链接 mysql oracle sqlserver

    遇到的坑 在连接Oracle时,因为服务器为10g 32位版本,然后在本地安装了32为10g客户端,然后一直报错[7302.7303],后来下载了12c 64位版本,安装成功后,问题解决 原因:mss ...

  8. mysql oracle sqlserver三种数据库count函数返回值不一样

    SQLQuery countSqlQuery = userDAO.createSQLQuery("select count(id) from fhcb_08_tbl_user"); ...

  9. MySql Oracle SqlServer 数据库的数据类型列表

    Oracle数据类型 一.概述  在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性. 二.标量(SCA ...

随机推荐

  1. css position小结

    relative:可使top,right,bottom,left等相对于自身位置来进行偏移:若无则这些偏移都不会起作用 absolute:寻找离自己最近position为relative或absolu ...

  2. django-paginator

    py code... from django.core.paginator import Paginator class NewsListView(View): def get(self, reque ...

  3. 数据结构之线索二叉树——C语言实现

     线索二叉树操作 (1) 线索二叉树的表示:将每个节点中为空的做指针与右指针分别用于指针节点的前驱和后续,即可得到线索二叉树. (2) 分类:先序线索二叉树,中序线索二叉树,后续线索二叉树 (3) 增 ...

  4. windows10系统telnet登陆

    参考网站:https://jingyan.baidu.com/article/acf728fd498e9ff8e510a322.html windows10系统以及没有telnet服务器端了. 需要单 ...

  5. 11 python shutil 模块

      shutil 模块 高级的 文件.文件夹.压缩包 处理模块 1.将文件内容拷贝到另一个文件中 import shutil f1 = open('os_模块.py','r',encoding='ut ...

  6. vue深入了解组件——处理边界情况

    一.访问元素&组件 在绝大多数情况下,我们最好不要触达另一个组件实例内部或手动操作DOM元素.不过也确实在一些情况下做这些事情是合适的. 1.1 访问根实例 在每个 new Vue 实例的子组 ...

  7. centor os 安装nginx

    安装nginx和health check wget http://nginx.org/download/nginx-1.4.5.tar.gz git clone https://github.com/ ...

  8. 在JSP中,使用get提交方式出现乱码时,为什么要使用new String(s.getBytes("iso-8859-1"),"utf-8");?

    最近在学JSP,在学习处理get方式提交数据出现乱码问题的时候,对其中的一个解决方法new String(s.getBytes("iso-8859-1"),"utf-8& ...

  9. IOS6新特性之下拉刷新<UIRefreshControl>

    在IOS6未发布之前,几乎都是使用那个UIRefresh在实现下拉刷新,甚至有人还是先了上拉的功能,不得不说牛人很多啊.可能是Apple意识到了这个功能的实用性,在IOS6中增加了下拉刷新,但是上啦还 ...

  10. html5中的SessionStorage 和localStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...