JSPJava访问Oracle、SQL Server、MySQL数据库

8 篇文章 0 订阅

常用的的Java链接数据库有两种方法:1、JDBC-ODBC桥接器连接数据库,2、加载纯Java数据库驱动。
本文主要介绍最基础的加载纯Java数据库驱动

前言:
  1. JDBC(Java DataBase Connectivity)是Java用于SQL的解决方案,是Java核心类库中的一部分。而我们经常使用JDBC完成3件事:1、与指定的数据库建立连接;2、向已连接的数据库发送SQL命令;处理SQL命令返回的结果。
  2. ODBC(Open DataBase Connectivity)是由Microsoft主导的数据库连接标准,提供了通用的数据库访问平台。但使用ODBC连接数据库应用程序移植性较差,因为这要求所在计算机必须装有ODBC。本文不介绍使用ODBC连接数据库的详细方法,主要介绍第二种加载纯Java数据库驱动。

加载纯Java数据库驱动连接数据库
  1. 与Oracle数据库连接

上面也提到了JDBC完成三件事,那我们就一件一件来

  • 与指定数据库建立连接
    与指定数据库连接之前需要先注册纯Java数据库驱动程序,每种数据库都有自己的纯Java数据库驱动程序,而Oracle数据库的驱动文件一般在Oracle安装目录下的product\10.2.0(版本号)\db_1\jdbc\lib\classes12.jar,如果没有找到也不要紧可以去下载,在此提供下载地址:
    https://download.csdn.net/download/aboutibm/397863
    https://download.csdn.net/download/aboutibm/397867
    两个链接中有几乎所有版本的classes12.jar提供下载。拿到这个jar包以后,放置在我们的web项目的/WEB-INF/lib下,然后我们通过java。lang.Class类的forName(),动态注册Oracle的纯Java数据库驱动程序,代码如下:
try{
    Class.forName("oracle.jdbc.driver.OracleDriver");//动态注册Oracle
}catch(ClassNotFoundException e){
    e.printStackTrace();   //错误一定要输出查看一下
}

再注册之后我们就可以建立连接了,话不多说上代码:

try{
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@主机:端口号:数据库名","用户名","密码");     //设置相关参数,与数据库建立连接
}catch(SQLException e){
    e.printStackTrace();
}
//主机则是安装Oracle的服务器IP地址,如果是本机的话写localhost既可以
//Oracle的默认端口号是1521,数据库名、用户名密码看你自己的配置了
  • 向已连接的数据库发送SQL命令
    首先访问数据库,需要用Connection类的createStatement方法从指定的数据库连接得到一个Statement的实例,然后用这个实例的相应方法来执行一条SQL语句。代码如下:
Statement st=null;   //Statement对象代表一条发送到数据库执行的SQL语句,由已创建的Connection对象con调用createStatement()方法来创建Statement对象
st= con.creatsStatement();
ResultSet rs=null;   //ResultSet对象是eecuteQuery(String sql)方法的返回值,被称为结果集,它代表SQL语句中符合条件的所有行
rd=st.executeQuery("SQL语句如select * from tb_news");//查找语句用executeQuery()方法,返回的是结果集,而插入、删除、创建则用executeUpdate()方法返回的是一个整数代表被更新的行
  • 处理SQL命令返回的结果
    处理结果集代码如下
while(rs.next())//next()将游标向下移动,当移动到最后一行之后时返回false
{
    out.print("<tr>");
    out.print("<td>+"rs.getString(1)"+</td>");
    out.print("<td>+"rs.getString(2)"+</td>");
    out.print("<td>+"rs.getString(3)"+</td>");
    out.print("<td>+"rs.getString(4)"+</td>");
    ......
    out.print("</tr>")
}
//ResultSet类游动查询常用的方法还有:
public boolean previous()//将游标向上移动与next()恰恰相反
public void last()//将游标移动到结果集的最后一行first同理类推
public void afterLat()//将游标移动到结果集最后一行之后beforeFirst同理类推
public int getRow()//获得当前游标所指定的行号,如果没有返回0

2.与SQL Server2005数据库连接

与其他数据库的连接也是同样的过程,不同点在于获取的驱动程序不同,加载的也就不同,建立连接时格式不同。

  • 获取纯java数据库驱动

SQL Server2005 的JDBC驱动是sqljdbc.jar,下载地址(http://www.pc6.com/softview/SoftView_467813.html)下载好后同样将文件复制到Web项目的/WEB-INF/lib下。

  • 加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  • 建立连接
Connection con= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=mydatabase","用户名","密码");

同理连接MySQL5.5数据库
- 获取纯java数据库驱动

MySQL的JDBC驱动是mysql-connector-java-5.1.44-bin.jar,下载地址(https://download.csdn.net/download/qq_34458791/10561055)下载好后同样将文件复制到Web项目的/WEB-INF/lib下。

  • 加载驱动
Class.forName("com.mysql.jdbc.Driver");
  • 建立连接
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","用户名","密码");
注:以下是我在做数据库连接操作时常遇到的几个问题及解决方法
  1. 连接数据库前一定要先查看对应的数据库服务开没开,win10可以在任务管理器最右侧找到服务;
  2. MySQL在安装时一定要记得自己用户名密码,最好设置简单点然后写一个文档保存重要内容以防忘记,因为如果忘记需要重装的话,难装的不是一点,而且最好最好不要卸载很难卸载干净,我曾经就装了一个上午才装好,反反复复装了数次;
  3. 安装各数据库时不知道自己是否安装上,或者不知道版本可以去DOS查看
    4. 本文到这里就要结束了,内容极其简单,适合初学者阅读,本文其实还欠缺数据库连接池的概念还有PreparedStatement的使用,不过我觉得学过一遍使用后再来学习其他的内容会有更清晰的认识。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值