初识jdbc

来源:互联网 发布:淘宝外卖会员卡好用吗 编辑:程序博客网 时间:2024/05/17 20:40

首先建立java项目

根据你使用的后台数据库选择jdbc.jar包,如果是oracle的话应该是ojdbc6.jar,如果是sqlserver的话是sqljdbc.jar ,如果是使用的mysql数据库的话使用mysql-connector-java.jar包

当然这些jar包的版本可能相对老一些了,可以选择新使用。

jar包放入项目中之后还要在属性中进行导入进来,否则不可用。

 

本篇仅以oracle为例进行简单的介绍

 

public class BaseDao {
 static Connection conn = null;
 static PreparedStatement prepa = null;
 static ResultSet result = null;
 static Statement st = null;
 public void getconnect(){
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  try {
   conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","system","sun"); 

   //前面的地址是数据库的地址,这里的XE是数据库的名称,后面的两个是用户名和密码。
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }

红线的两句话是最重要的,第一条是oracle数据库固定的写法。

这样一个jdbc连接就创建好了。

介绍一下Statement和PreparedStatement的区别。

注意:几种类型最上面已经声明过了,下面不再声明直接使用!

 

前者的使用方法:

new BaseDao().getconnect();   //这一步打开jdbc的连接

string sql="insert into emp1(empno,ename) values(2233,'jiazihui')";   //他与PreparedStatement的本质区别就在这里,这里他只能使用这种固定的赋值方式。

st = conn.createStatement();

st.execute(sql);   //这里返回的是一个boolean值,如果执行sql返回的是一个结果集合的话那么返回true 否则返回false。

 

后者的使用方法:

new BaseDao().getconnect();   //这一步打开jdbc的连接

string sql="insert into emp1(empno,ename) values(?,?)";   //这就是他的用处了,可以用这种?号来代替。

prepa=conn.PreparedStatement(sql);

prepa.setInt(1,7682);    //这里就是用来设置那两个?号的参数了。当然还有很多种类型,这里不做例举。

prepa.setString(2,"hanhang");    //这里就是用来设置那两个?号的参数了。当然还有很多种类型,这里不做例举。

 

上面介绍了执行sql语句会返回boolean或者返回一个select的结果集

 

如果是返回的结果集的话需要使用下面的来接收:

例如:

string sql="select * from emp"

st=conn.createStatement();

result(这个上面已经声明过了,)=st.execute(sql);

while(result.next())

{

    system.out.println(result.getInt("empno"));   //这里是取第一条记录的empno这个字段的数据打印,然后循环打印

}

 

上面所声明的几个连接或者会话都是需要使用后关闭的,一般会使用如下方法关闭:

public void close(){
     try {
   if(conn!=null && !conn.isClosed()){
    conn.close();
   }
   if(prepa != null && !prepa.isClosed()){
    prepa.close();
   }
   if(result != null && !result.isClosed()){
    result.close();
   }
   if(st != null && !st.isClosed()){
    st.close();
   }
   System.out.println("连接已关闭!");
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 

通过判断然后使用close进行关闭

 

到这里jdbc基本介绍已经结束了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击