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();
}
}
}
}