当前位置: 首页 > 编程笔记 >

java的jdbc简单封装方法

谭池暝
2023-03-14
本文向大家介绍java的jdbc简单封装方法,包括了java的jdbc简单封装方法的使用技巧和注意事项,需要的朋友参考一下

学习了jdbc一段时间后感觉自己写一个简单的封装来试试,于是参考的一些资料就写了一下不是多好,毕竟刚学也不太久

首先写配置文件:直接在src下建立一个db.properties文件然后写上内容

<span style="font-size:18px;">MysqlDriver=com.mysql.jdbc.Driver 
MysqlURL=jdbc\:mysql\://localhost\:3306/one 
User=root 
Pwd=123456 
</span> 


之后再写一个类代码如下

<span style="font-size:18px;">package cn.java.ad; 
 
import java.io.IOException; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.Properties; 
/** 
 * 本例是写了一个小的封装 
 * 对jdbc的封装练习 
 * @author hello 
 * @version jdk 1.8 
 */ 
public class ReadMain { 
  static Properties pos=null;//设置静态的在加载类的时候只需要一次 
  static{ 
    pos=new Properties(); //建立Peoperties用来读取配置文件 
    try {//下面是用来读取配置文件的 
      pos.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties")); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
  } 
    public static Connection getcon(){//建立Connection连接 
      try { 
        Class.forName(pos.getProperty("MysqlDriver"));//加载com.mysql.jdbc.Driver 
      }catch (ClassNotFoundException e) { 
        e.printStackTrace(); 
      } 
      try {//加载URL ,User,password 
        return DriverManager.getConnection(pos.getProperty("MysqlURL"), 
            pos.getProperty("User"),pos.getProperty("Pwd")); 
      } catch (SQLException e) { 
         
        e.printStackTrace(); 
      } 
      return null; 
    } 
  public static  void Close(ResultSet rs,Statement st,Connection co){ 
    try {//关闭数据库连接采用重载的方法便于封装 
      if(rs!=null) 
      rs.close(); 
      if(st!=null) 
        st.close(); 
      if(co!=null) 
        co.close(); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
  public static  void Close(ResultSet rs,Connection co){ 
    try {//关闭ResultSet Connection 
      if(rs!=null) 
        rs.close(); 
      if(co!=null) 
        co.close(); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
  public static  void Close(Connection co){ 
    try { //关闭Connection 
      if(co!=null) 
        co.close(); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
} 
//程序结束</span> 

之后写主类代码如下

<span style="font-size:18px;">package cn.java.ad; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.Statement; 
public class Main { 
 
  public static void main(String[] args) { 
    Connection con=null; 
    ResultSet res=null; 
    Statement sta=null; 
     String sql=null; 
     String name="李雷"; 
     String sex="男"; 
    PreparedStatement ps=null; 
    try { 
      con=ReadMain.getcon(); 
      sql="insert into student(id,name,sex,phone)VALUES(1235,?,?,15896324131)"; 
      ps=con.prepareStatement(sql);//获取sql语句 
      //在这里 the first parameter is 1, the second is 2, ... 
      //x the parameter value 
      //可以看出下标是从1开始的 
      ps.setString(1, name); 
      //将对应的name插入数据表中 
      ps.setString(2, sex); 
      //将对应的sex插入数据表中 
      ps.execute(); 
      //执行sql语句并且没有返回值 
      System.out.println("插入成功"); 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } 
    finally{ 
      ReadMain.Close(res, sta, con); 
      //依次关闭连接 
    } 
 
  } 
 
} 
</span> 

下面是两张图是建立db.properties的步骤


以上就是本文的全部内容,希望大家可以喜欢。

 类似资料:
  • 本文向大家介绍WebService 的简单封装接口调用方法,包括了WebService 的简单封装接口调用方法的使用技巧和注意事项,需要的朋友参考一下 此方法完成了简单WebService 的简单调用封装,实现了简单Webservice简单调用的统一操作,避免了每增加一个操作都必须增加一个接口方法 的囧状! 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 学习OOP概念,特别对深入理解抽象和封装感兴趣。 已签出以下内容 抽象VS信息隐藏VS封装 抽象和封装之间的区别? 我发现如果没有一个真实的、简单的示例类/代码片段,很难理解这些概念。 我的一个同事说过,抽象就是创建抽象类和普通类,用作用域保护其成员变量,称为封装。 有没有一种简单的方法我可以理解并帮助别人理解他们到底是什么,而不是重复下面的内容? 抽象和封装是互补的概念:抽象关注对象的可观察行为

  • 问题内容: 为了在我们的应用程序中实现数据访问代码,我们需要一些框架来包装jdbc(由于可伸缩性,所以我们不选择ORM)。 我曾经使用过的最酷的框架是Spring- Jdbc 。但是,我公司的政策是避免外部依赖,尤其是spring,J2EE等。因此,我们正在考虑编写自己的手工jdbc框架,其功能类似于Spring- jdbc:行映射,错误处理,支持Java5的功能,但没有交易支持。 有没有人有编写

  • 问题内容: 我有一个项目,我们经常在其中将String转换为int。当出现问题时(例如,不是数字,而是字母,等等),此方法将引发异常。但是,如果我必须到处都处理代码中的异常,这很快就会变得非常难看。我想将其放在一个方法中,但是,我不知道如何返回一个干净的值以表明转换出错。 在C ++中,我可以创建一个方法,该方法接受一个指向int的指针,并让该方法本身返回true或false。但是,据我所知,这在

  • 本文向大家介绍原生AJAX封装的简单实现,包括了原生AJAX封装的简单实现的使用技巧和注意事项,需要的朋友参考一下 回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出! 假设一个需求,后端要求传入两个数字n1、n2,然后返回总和。 当其中一个参数为空或者不是数字时,返回:{"status":"0", "msg":"参数有误!"} 当正确的时候,返回:{"status":"1

  • 本文向大家介绍微信小程序wx.request的简单封装,包括了微信小程序wx.request的简单封装的使用技巧和注意事项,需要的朋友参考一下 这些天团队里开始做小程序开发了,之前没做过,都是第一次,第一次的感觉大家都懂的。周末看了一下小程序项目的代码,在网络请求上发现了一些小问题,最终没忍住想了点办法把request封装了一下。下面来看看吧。 看项目代码时发现了下面几点问题: 网络请求都写在Pa