范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

JDBC连接oracle数据库步骤

  (一)创建工程,引入驱动包
  在下图目录中可以找到驱动包ORACLE的JDBC驱动包,拷贝到工程即可使用
  创建java工程waterboss,建立lib文件夹,将ojdbc.jar拷贝到此文件夹,然后add build path
  (二)BaseDao
  我们通常编写BaseDao负责加载驱动,获取数据库连接,关闭资源,代码如下:package cn.itcast.waterboss.dao;  import java.sql.SQLException;  /**  * 基本数据访问类  * @author Administrator  *  */ public class BaseDao {   //加载驱动   static {     try {       Class.forName("oracle.jdbc.driver.OracleDriver");     } catch (ClassNotFoundException e) {       e.printStackTrace();     }   }    /**    * 获取数据库连接    * @return    * @throws SQLException    */   public static java.sql.Connection getConnection() throws SQLException {     return java.sql.DriverManager.getConnection(       "jdbc:oracle:thin:@192.168.80.10:1521:orcl",       "wateruser",       "itcast"     );   }    /**    * 关闭资源    * @param rs    * @param stmt    * @param conn    */   public static void closeAll(     java.sql.ResultSet rs,     java.sql.Statement stmt,     java.sql.Connection conn   ) {     //关闭结果集     if (rs != null) {       try {         rs.close();       } catch (SQLException e) {         e.printStackTrace();       }     }     //关闭执行对象     if (stmt != null) {       try {         stmt.close();       } catch (SQLException e) {         e.printStackTrace();       }     }     //关闭执行对象     if (conn != null) {       try {         conn.close();       } catch (SQLException e) {         e.printStackTrace();       }     }   } }
  JDBC驱动为:
  oracle.jdbc.OracleDriver
  连接字符串( 瘦连接 ):
  jdbc:oracle:thin:@虚拟机的 IP:1521:orcl(三)业主增删改代码编写
  1.创建实体类package cn.itcast.waterboss.entity;  import java.util.Date;  /**  * 业主实体类  * @author Administrator  *  */ public class Owners {    private Long id; //编号   private String name; //业主名称   private Long addressid; //地址编号   private String housenumber; //门牌号   private String watermeter; //水表编号   private Date adddate; //登记日期   private Long ownertypeid; //业主类型 ID    public Long getId() {     return id;   }    public void setId(Long id) {     this.id = id;   }    public String getName() {     return name;   }    public void setName(String name) {     this.name = name;   }    public Long getAddressid() {     return addressid;   }    public void setAddressid(Long addressid) {     this.addressid = addressid;   }    public String getHousenumber() {     return housenumber;   }    public void setHousenumber(String housenumber) {     this.housenumber = housenumber;   }    public String getWatermeter() {     return watermeter;   }    public void setWatermeter(String watermeter) {     this.watermeter = watermeter;   }    public Date getAdddate() {     return adddate;   }    public void setAdddate(Date adddate) {     this.adddate = adddate;   }    public Long getOwnertypeid() {     return ownertypeid;   }    public void setOwnertypeid(Long ownertypeid) {     this.ownertypeid = ownertypeid;   } }
  2.创建Dao类实现增删改package cn.itcast.waterboss.dao;  import cn.itcast.waterboss.entity.Owners; import java.sql.SQLException;  /**  * 业主数据访问类  * @author Administrator  *  */ public class OwnersDao {    /**    * 新增业主    * @param owners    */   public static void add(Owners owners) {     java.sql.Connection conn = null;     java.sql.PreparedStatement stmt = null;     try {       conn = BaseDao.getConnection();       stmt =         conn.prepareStatement("insert into T_OWNERS  values(?,?,?,?,?,?,?)");       stmt.setLong(1, owners.getId());       stmt.setString(2, owners.getName());       stmt.setLong(3, owners.getAddressid());       stmt.setString(4, owners.getHousenumber());       stmt.setString(5, owners.getWatermeter());       stmt.setDate(6, new java.sql.Date(owners.getAdddate().getTime()));       stmt.setLong(7, owners.getOwnertypeid());       stmt.execute();     } catch (SQLException e) {       e.printStackTrace();     } finally {       BaseDao.closeAll(null, stmt, conn);     }   }    /**    * 修改业主    * @param owners    */   public static void update(Owners owners) {     java.sql.Connection conn = null;     java.sql.PreparedStatement stmt = null;     try {       conn = BaseDao.getConnection();       stmt =         conn.prepareStatement(           "update T_OWNERS set      name=?,addressid=?,housenumber=?," +           "watermeter=?,adddate=?, ownertypeid=? where      id=?"         );       stmt.setString(1, owners.getName());       stmt.setLong(2, owners.getAddressid());       stmt.setString(3, owners.getHousenumber());       stmt.setString(4, owners.getWatermeter());       stmt.setDate(5, new java.sql.Date(owners.getAdddate().getTime()));       stmt.setLong(6, owners.getOwnertypeid());       stmt.setLong(7, owners.getId());       stmt.execute();     } catch (SQLException e) {       e.printStackTrace();     } finally {       BaseDao.closeAll(null, stmt, conn);     }   }    /**    * 删除业主    * @param owners    */   public static void delete(Long id) {     java.sql.Connection conn = null;     java.sql.PreparedStatement stmt = null;     try {       conn = BaseDao.getConnection();       stmt = conn.prepareStatement("delete from T_OWNERS where  id=?");       stmt.setLong(1, id);       stmt.execute();     } catch (SQLException e) {       e.printStackTrace();     } finally {       BaseDao.closeAll(null, stmt, conn);     }   } }

加密市场行情下挫,波卡逆势夺冠波动性牢牢地控制着市场,市场情绪进一步下降到中轨区域内。从加密市场情绪分析服务Omenics提供的数据来看,10个主要币种的综合移动7日平均加密市场情绪得分(sentscore)连永远相信美好的事情正在发生,小米11发布会米粉好幸福2020年对于小米来说确实是艰难奋发的一年,作为小米成立的第十个周年,小米10成了小米进军高端手机市场的一步好棋,小米一改以往中端机市场的品牌形象,开始向高端手机市场发力。就在12行业最顶级屏幕!旗舰机锁门员小米11全面升级,你还在嫌贵?近日,小米的新品发布会上,雷军携满满诚意带来了震撼全场的小米11。被米粉们称为弥补短板不惜一切代价打造出来的小米又一全新力作,小米11究竟价值几何?让我们来一起看一看。小米11的最雷军直播透露小米11,新款环保版热销高达两万台12月28日,万众瞩目的小米发布会开启,作为2020旗舰机收官之作小米11进入大众事业,为了此次的新品发售,小米集团可谓是用心良苦,无论是雷军一改往日低调在微博上为其造势,还是将发小米11强势来袭,超奢侈四曲面屏幕预约超百万,即将开售小米11的发布会在12月28日正式举行了,不得不承认小米11的成功震撼了在场的所有观众。2K画质120Hz高刷的屏幕,可以说是成本行业最贵的,屏幕素质远远超过苹果和三星,可见雷军不超酷!小米11终于来了,足够震撼,准备好了吗?12月28日晚,被受期待的小米11,终于发布了!小米11闪亮登场,赚足了大众眼球。正如外界期待,小米11在各个方面强大的性能,高端的配置,堪称王者,下面就来给大家分析一下。在手机屏CapitalMarkets认为苹果应该购买比特币投资银行RBCCapitalMarkets认为,苹果应该购买比特币,并推出加密交易所,这一言论是在今天早些时候特斯拉15亿美元购买比特币之后发表的。RBC表示,与苹果传闻中的电动汽DeFi基于数字ID的信用解决方案继ProBit交易所和EasyFi合作巩固当前中心化和去中心化金融之间的鸿沟之后,EASY继1月份上市之后,现在将在即将到来的ProBit专属莱特上亮相。ProBit交易所已经完成比特币是新的GameStop吗?从上周开始,GameStop就一直占据着全球新闻圈。一群千禧一代正在向价值数十亿美元的对冲基金开战,他们买入了这些对冲基金大量做空的股票,包括GameStopAMC和黑莓。GameDeFi会吃下摩根,但在吃这顿饭之前是有风险的去中心化金融(defi)协议估计将在十年或二十年内成长为高高在上的传统金融代替品,如美国主要投行摩根大通,但仍有一些特定的固有的风险需要处理。加密研究公司Messari的研究分析师Coinbase选择在纳斯达克直接上市经过几个月的猜测,总部位于旧金山的加密交易所Coinbase最近宣布计划通过直接上市。现在,TheBlock报道称,该公司将在纳斯达克上市。(Coinbase没有证实该报道)。Co