• jdbc操作数据库通用方法


     第一步:需要的jar包是ojdbc14.jar
    第二步:需要配置jdbc.properties(放在src目录下)
    具体配置如下(以oracle数据库为例)
    如果是mysql
    1.需要替换jar包
    2.替换url和driver
    一般url=jdbc:mysql://localhost:3306/database;
    driver=com.mysql.jdbc.Driver
    url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
    driver=oracle.jdbc.driver.OracleDriver
    username=scott
    password=tiger
     1 package com.oracle;
     2 import java.io.FileNotFoundException;
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.sql.Connection;
     6 import java.sql.DriverManager;
     7 import java.sql.ResultSet;
     8 import java.sql.SQLException;
     9 import java.sql.Statement;
    10 import java.util.Properties;
    引入的包和相关资源
      1 /**
      2  * 增删改查操作公共类(以oracle数据库为例)
      3  * 2017-8-29 wuyafei
      4  *
      5  */
      6 public class CrudUtil {
      7     /**
      8      * 1.获取数据库连接
      9      * 2.获取statement,加载sql语句
     10      * 3.获取resultset
     11      * 
     12      */
     13     public static Connection conn=null;
     14     public static Statement sm=null;
     15     public static ResultSet rs=null;
     16 
     17 
     18     /**
     19      * 查询操作
     20      * @param sql
     21      */
     22     private static void executeQuery(String sql) {
     23         try {
     24             rs=sm.executeQuery(sql);
     25             while(rs.next()){
     26                 Dept dept=new Dept();
     27                 dept.setDeptno(rs.getInt("deptno"));
     28                 dept.setDname(rs.getString("dname"));
     29                 dept.setLoc(rs.getString("loc"));
     30                 System.out.println(dept);
     31             }
     32         } catch (SQLException e) {
     33             // TODO Auto-generated catch block
     34             e.printStackTrace();
     35         }
     36         
     37     }
     38     
     39     /**
     40      * 更新操作(增删改)
     41      * @param sql
     42      */
     43     private static void executeUpdate(String sql) {
     44         try {
     45             int num=sm.executeUpdate(sql);
     46             if(num>0){
     47                 System.out.println("更新成功");
     48             }else{
     49                 System.out.println("更新失败");
     50             }
     51         } catch (SQLException e) {
     52             // TODO Auto-generated catch block
     53             e.printStackTrace();
     54         }
     55     }
     56 
     57 
     58 
     59     /**
     60      * 关闭资源
     61      * @param rs
     62      * @param sm
     63      * @param conn
     64      */
     65     private static void closeResouce(ResultSet rs, Statement sm,
     66             Connection conn) {
     67         // TODO Auto-generated method stub
     68         if(rs!=null){
     69             try {
     70                 rs.close();
     71             } catch (SQLException e) {
     72                 // TODO Auto-generated catch block
     73                 e.printStackTrace();
     74             }
     75         }
     76         if(sm!=null){
     77             try {
     78                 sm.close();
     79             } catch (SQLException e) {
     80                 // TODO Auto-generated catch block
     81                 e.printStackTrace();
     82             }
     83         }
     84         if(conn!=null){
     85             try {
     86                 conn.close();
     87             } catch (SQLException e) {
     88                 // TODO Auto-generated catch block
     89                 e.printStackTrace();
     90             }
     91         }
     92     }
     93 
     94 
     95 
     96     /**
     97      * 获取statement
     98      */
     99     private static Statement createStatement() {
    100         try {
    101             sm=conn.createStatement();
    102         } catch (SQLException e) {
    103             // TODO Auto-generated catch block
    104             e.printStackTrace();
    105         }
    106         return sm;
    107         
    108     }
    109 
    110 
    111     /**
    112      * 获取Connection
    113      */
    114     private static Connection getConnection() {
    115         // TODO Auto-generated method stub
    116         //Connection conn=null;
    117 //        String url="jdbc:oracle:thin:@localhost:1521:orcl";
    118 //        String driver="oracle.jdbc.OracleDriver";
    119 //        String username="scott";
    120 //        String password="tiger";
    121         Properties pt=new Properties();
    122         InputStream is=null;
    123         try {
    124             //通过类加载器加载配置文件
    125             is=CrudUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
    126             //通过类加载配置文件,文件名称需要加上"/"
    127             //is = CrudUtil.class.getResourceAsStream("/jdbc.properties");
    128             pt.load(is);
    129             //数据库驱动
    130             String driver=pt.getProperty("driver");
    131             String url=pt.getProperty("url");
    132             String username=pt.getProperty("username");
    133             String password=pt.getProperty("password");
    134             try {
    135                 //注册加载驱动
    136                 Class.forName(driver);
    137                 conn=DriverManager.getConnection(url, username, password);
    138                 System.out.println("get connection success!~"+conn);
    139             } catch (ClassNotFoundException e) {
    140                 // TODO Auto-generated catch block
    141                 e.printStackTrace();
    142             } catch (SQLException e) {
    143                 // TODO Auto-generated catch block
    144                 e.printStackTrace();
    145             }
    146         } catch (FileNotFoundException e1) {
    147             // TODO Auto-generated catch block
    148             e1.printStackTrace();
    149         } catch (IOException e1) {
    150             // TODO Auto-generated catch block
    151             e1.printStackTrace();
    152         }finally{
    153             if(is!=null){
    154                 try {
    155                     is.close();
    156                 } catch (IOException e) {
    157                     // TODO Auto-generated catch block
    158                     e.printStackTrace();
    159                 }
    160             }
    161         }
    162         return conn;
    163         
    164         
    165     }
    166     
    167     public static void main(String[] args) {
    168         //1.获取Connection
    169         conn=getConnection();
    170         //2.获取Statement
    171         sm=createStatement();
    172         //3.操作
    173         
    174         /**
    175          * 3.1.查询操作
    176          */
    177         
    178         String sql="select * from dept";
    179         executeQuery(sql);
    180         
    181         /**
    182          * 3.2.添加操作
    183          */
    184         
    185 //        String sql="insert into dept values (50,'招生部','8楼')";
    186 //        executeUpdate(sql);
    187         
    188         /**
    189          * 3.3.修改操作
    190          */
    191         
    192 //        String sql="update dept set dname='就业部' where deptno=50";
    193 //        executeUpdate(sql);
    194         
    195         /**
    196          * 3.4.删除操作
    197          */
    198         
    199 //        String sql="delete from dept where deptno=60";
    200 //        executeUpdate(sql);
    201         
    202         //4.关闭资源
    203         closeResouce(rs,sm,conn);
    204         
    205     }
    206 
    207 }
    具体代码
    注意:想要成功连接本地的数据库,需要同时开启数据库的监听和服务



  • 相关阅读:
    Java的审计项目导入---基于现有的微服务项目上再加个xmsj
    vo中对date格式的时间格式的处理,方便到前台展示
    Java的Maven项目的导入
    [2020-05]测试短信发送记录
    那些年总是记不住的前端写法!
    【HTML+CSS】比较清淡的一个表格。
    C# 里这么写 busiDate.replace('-', ' ').trim(),可以把2020-04-01转为 20200401;java里这么些只能转为2020 04 01……
    radType条件没有用?
    我的程序里面出现了下面的警告:Unreachable code请问是什么原因?该怎么解决呢?
    ubuntu18.04安装Charles及问题
  • 原文地址:https://www.cnblogs.com/wyf2017start/p/7470250.html
Copyright © 2020-2023  润新知