jsp连接调用数据库小结

本文总结了使用Java JSP连接Oracle数据库的基本步骤。首先,需要将JDBC JAR包导入项目并创建Class文件。接着,通过Class.forName加载驱动,使用DriverManager.getConnection建立连接。创建Statement对象用于执行SQL,如查询、增删改。通过ResultSet获取查询结果并输出。最后,确保资源按相反顺序释放,防止内存泄漏。示例代码展示了如何创建表、执行插入和查询操作。
摘要由CSDN通过智能技术生成

1.

需要有一个jdbc的JAR包,并将其导入到项目中的WEB-INF下的bin文件中,这样项目中会自动生成这个JAR包的文件,然后就可以调用了。

2.

创建Class文件,进入后要分两种,一种是一次性的,另一种可以重复循环使用,两者都很相似也很简单,第一种只需要在一个CLASS文件中就可以,这里说一下第一种,

首先需要加载项,运用Class.forName(orcale.jdbc.driver.OrcaleDriver),括号中是你的JDBC下的orcaleDRIVER文件的路径,然后就可以调用这个包来连接数据库了。

然后创建connection这个量,这里是DriverManager.getConnection(oracle:jdbc:thin:@localhost:1521:scott),运用这个方法来创建,括号中的值是(数据库:连接的包名:方法:主机名:地址:数据库名),我们给它赋值给conn,然后用conn.creatStatement()创建一个Statement值,这个值是用来传输SQL语句的,然后把它赋值给Statement st=conn.creatStatement();然后利用st函数excuteQuery(sql)或excuteUpdate(sql)(查询或增删改),因为excuteUpdate返回值是INT型,所以需要声明一个int变量来装它的返回值,这里我声明一个int num=st.excuteUpdate(sql);而当查询时,则是使用excuteQuery(),它的返回值为string型,所以我声明一个resultset rs=st.excuteQuery(),最后输出有很多种方法,查询结果输出这里我用while方法,while(rs.next()){ system.out.println(rs.getString()+“ ”),这里根据查询的条件来确定输出类型。而增删改时返回的是int型,所以我们做一个判断,当有返回值时,num=!0,所以写一个if函数,if(num>0){system.out.println(“success!!!”);}这样如果成功插入就会在工作台上输出SUCCESS!!!这样我们就能知道是否已经完成。

最后一步是释放资源,通常都是逆序释放,因为connection非常小 如果长期占用资源,会导致卡机等情况,所以,我们在最后写一个if函数来释放资源,注意:一定是逆序释放if(rs!=0){rs.close}

if(st!=null){st.close}

if(conn!=null){conn.close();}

这样就完成了。、

总体代码:

查询:

package com.ccec.jsp_or;

import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;


public class jspsql {
 public static void main(String[] args) {
  Connection conn=null;
  Statement sta=null;
  ResultSet rs=null;
  int num = 0;
  PreparedStatement prsm=null;
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   String url="jdbc:oracle:thin:@localhost:1521:inspur";
   String user="scott";   String password="tiger";
   try {
    conn=DriverManager.getConnection(url,user,password);
    String sql="select empno,ename,sal from emp";
    String sql1="creat table user01(username varchar(5),num number)";
    sta=conn.createStatement();
    num=sta.executeUpdate(sql1);
//这是利用preparestatement方法,主要就是利用?符占位
//    String sql="insert into user_01(username,usernum) values(?,?)";
//    prsm=conn.prepareStatement(sql);
//    prsm.setString(1, "liliu");
//    prsm.setString(2, "123456");
//    num=prsm.executeUpdate();
    
    
    if(num>0){
     System.out.println("插入成功");
     
    }
    /*rs=sta.executeQuery(sql);
    while(rs.next()){
     System.out.println(rs.getString(1)+" "+rs.getString(2)
       +" "+rs.getString(3));
     
    }*/
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   try {
    /*if(rs!=null){ rs.close();}*/
    if(sta!=null){sta.close();}
    if(conn!=null){conn.close();}
    if(prsm!=null){prsm.close();}
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值