一、把数据库包导入项目中,并且Build path(oracle例如ojdbc6.jar;sqlServer例如sqljdbc.jar)

二、开始操作

1.普通连接: 

  String className="oracle.jdbc.driver.OracleDriver";//oracle的className(ojdbc6.jar)

  String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//oracle的url(ojdbc6.jar)

  //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)

  //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的urlsqljdbc.jar

  Class.forName(className);//导入驱动类

  Connection conn=DriverManager.getConnection(url,"sa","123");//创建数据库连接对象,三个参数分别为:url,user,password
  Statement st=conn.createStatement();
  //新增========================begin
  int addCount=st.executeUpdate("insert into AAA values('新增4','新增4','新增4')");
  if(addCount>0)
    System.out.println("新增成功");
  else
    System.out.println("新增失败");
  //新增========================end

  

  //删除========================begin
  int deleteCount = st.executeUpdate("delete AAA where \"id\"='新增4'");
  if(deleteCount>0)
  System.out.println("删除成功");
  else
  System.out.println("删除失败");
  //删除========================end


  //修改========================begin
  int updateCount=st.executeUpdate("update AAA set num ='修改1', tag ='修改1' where id ='3'");
  if(updateCount>0)
    System.out.println("修改成功");
  else
    System.out.println("修改失败");
  //修改========================end
  //查询========================begin
  ResultSet rs = st.executeQuery("select * from AAA");
  System.out.println("id \t num \t tag");
  while(rs.next()){
    String a=rs.getString(1);//根据下标取字段值,下标从1开始
    String b=rs.getString("num");//根据字段名取值,get后面跟的数据类型也是和数据库来定的,可以是int/double等
    String c=rs.getString(3);
    System.out.println(a+"\t"+b+"\t"+c);
  }
  //查询========================end

  rs.close();
  st.close();
  conn.close();

2.预编译连接:

  String className="oracle.jdbc.driver.OracleDriver";//oracle的className(ojdbc6.jar)

  String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//oracle的url(ojdbc6.jar)

  //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)
  //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的url(sqljdbc.jar)

  Class.forName(className);//导入驱动类
  Connection conn=DriverManager.getConnection(url,"sa","123");//创建数据库连接对象,三个参数分别为:url,user,password
  //新增=============================begin
  String sql="insert into AAA values(?,?,?)";
  PreparedStatement ps = conn.prepareStatement(sql);
  ps.setString(1, "id5");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
  ps.setInt(2, 8);
  ps.setString(3, "tag4");
  int executeUpdate = ps.executeUpdate();
  if(executeUpdate>0)
    System.out.println("新增成功");
  else
    System.out.println("新增失败");
  //新增=============================end
  //修改=============================begin
  String sql1="update AAA set num =?";
  PreparedStatement ps1 = conn.prepareStatement(sql1);
  ps1.setString(1, "4");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
  //ps1.setString(2, "id1");
  int executeUpdate1 = ps1.executeUpdate();
  if(executeUpdate1>0)
    System.out.println("修改成功");
  else
    System.out.println("修改失败");
  //修改=============================end
  //查询=============================begin
  String sql2="select * from AAA";
  PreparedStatement ps2 = conn.prepareStatement(sql2);
  //预编译没有参数要传,可以不传,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
  ResultSet rs = ps2.executeQuery();
  System.out.println("id \t num \t tag \t");
  while(rs.next()){
    System.out.println(rs.getString(1)+"\t"+rs.getInt("num")+"\t"+rs.getString(3));

    /get后面跟的数据类型也是和数据库或自己的需求来定的,不论字段是什么类型,只要数据可以转得过来,可以是int/double等
  }
  //查询=============================end
  //新增=============================begin
  String sql3="delete AAA where id =?";
  PreparedStatement ps3 = conn.prepareStatement(sql3);
  ps3.setString(1, "id2");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
  int executeUpdate3 = ps3.executeUpdate();
  if(executeUpdate3>0)
    System.out.println("删除成功");
  else
    System.out.println("删除失败");
  //新增=============================end

  rs.close();
  ps.close();
  ps1.close();
  ps2.close();
  ps3.close();
  conn.close();

3.方法封闭,配置文件使用: 

 1)新建db.config文件放在项目根目录

 2)db.config的内容为:(下面为oracle连接的配置,sqlserver等其它数据库可以对应参照上文提到的路径进行对应修改)

    className=oracle.jdbc.driver.OracleDriver
    url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
    user=sa
    password=123

 3)其它代码:

  InputStream fit=new FileInputStream("db.config");
  Properties p=new Properties();
  p.load(fit);

  String className=p.getProperty("className");//oracle的className(ojdbc6.jar)
  String url=p.getProperty("url");//oracle的url(ojdbc6.jar)
  String user=p.getProperty("user");
  String password=p.getProperty("password");

  fit.close();
  //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)
  //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的url(sqljdbc.jar)

  Class.forName(className);//导入驱动类
  Connection conn=DriverManager.getConnection(url,user,password);

  //其它……略

  //执行SELECT语句
  public ResultSet query(String sql,Object...objects) throws SQLException{
    PreparedStatement ps = this.conn.prepareStatement(sql);
    for(int i=0; i<objects.length; i++)
      ps.setObject(i+1, objects[i]);
    return ps.executeQuery();
  }

  //执行UPDATE\INSERT\DELETE语句
  public int update(String sql,Object...objects) throws SQLException{
    PreparedStatement ps = this.conn.prepareStatement(sql);
    for (int i = 0; i < objects.length; i++) {
      ps.setObject(i+1, objects[i]);
    }
    int count=ps.executeUpdate();
    ps.close();
    return count;
  }

  //关闭……略

数据库连接(Oracle/sqlServer增、删、改、查)的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. oracle 11g 建库 建表 增 删 改 查 约束

    一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create t ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  10. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

随机推荐

  1. 使用wsimport和JAX-WS调用Web Service接口

    本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...

  2. hdu 4057--Rescue the Rabbit(AC自动机+状压DP)

    题目链接 Problem Description Dr. X is a biologist, who likes rabbits very much and can do everything for ...

  3. php 变量 循环关键词以及方法

    <?php/* 多行注释 */常用数据类型int string double/float bool变量的定义$a = 123;$b = "123";$c = '456';$d ...

  4. fatal: The remote end hung up unexpectedly

    git push 的时候出错,提示: fatal: The remote end hung up unexpectedly 遇见几次了,原因是因为文件太大,把限制放宽就好了.命令: git confi ...

  5. 点击jsp页面上的超链接后怎么找到对应的servlet

    首先超链接是一个像是url一部分的东西,其实不追求深入的道理可以联想到web.xml中的一个<url-pattern>,其实它俩也的确是对应关系,然后<url-pattern> ...

  6. Windows 10新功能

    Windows 10 中面向开发人员的新增功能 Windows 10 及新增的开发人员工具将提供新通用 Windows 平台支持的工具.功能和体验.在 Windows 10 上安装完工具和 SDK后, ...

  7. escape、encodeURI和encodeURIComponent的区别及使用

    编码 javascript中的编码函数有三种 escape(string) encodeURI(string) encodeURIComponent(string) 解码 相应的解码函数也有以下三种 ...

  8. Mysql Explain 参数解释

    查询计划使用以及使用说明 table:显示这一行数据是关于哪张表的. type:显示使用了何种类型,从最好到最差的连接类型为system.const.eq_ref.ref.fulltext.ref_o ...

  9. webpack安装教程及实例

    在控制台输入: npm install webpack -g 这是全局的安装,如果需要局部安装,在控制台cd 打开到指定目录,输入: npm install webpack --save-dev 即可 ...

  10. 执行计划查看,autotrace工具的使用

    ---工具的简单介绍   001啥是autotrace,翻译自动跟踪,跟踪什么额? SQL的执行过程   我们老是讲ORACLE体系结构里面,共享池有个组件库高速缓存,存放SQL语句执行计划   什么 ...