Java教程

java操作JDBC实现增删改查工具类

本文主要是介绍java操作JDBC实现增删改查工具类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
代码实现

1.提取工具类

  • 建立一个utils包

image-20220208110302433

  • 建立一个配置文件,增加耦合度

image-20220208111352091

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3307/school?useUnicode=true&characterEncoding=utf8&useSSL=true
username=root
password=201314
  • 建立工具类加载配置文件

    package com.util;
    ​
    import com.sun.xml.internal.fastinfoset.algorithm.IEEE754FloatingPointEncodingAlgorithm;
    import jdk.nashorn.internal.ir.CatchNode;
    ​
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.*;
    import java.util.Properties;
    ​
    public class jdbcutils {
        private  static  String driver=null;
        private  static  String url=null;
        private  static  String username=null;
        private  static  String password=null;
    ​
          static{
              try{
                  //读取配置文件中的输入流
                InputStream inputStream= jdbcutils.class.getClassLoader().getResourceAsStream("db.properties");
                Properties properties=new Properties();//拿到输入流
                  properties.load(inputStream);//读出输入流
                  driver=properties.getProperty(driver);//获取配置文件中的对象
                  url=properties.getProperty(url);//获取配置文件中的对象
                  username=properties.getProperty(username);//获取配置文件中的对象
                  password=properties.getProperty(password;//获取配置文件中的对象
                 //驱动只要加载一次
                    Class.forName(driver);
                  }catch (Exception e){
                  e.printStackTrace();
              }
          }
          //获取连接
         public static Connection getConnection()throws SQLException {
             return DriverManager.getConnection(url,username,password);
         }
          //释放资源
        public static void release(Connection com, Statement st, ResultSet rs){
              if(rs!=null){
                  try {
                      rs.close();
                  }catch (SQLException e){
                      e.printStackTrace();
                  }
              }
            if(st!=null){
                try {
                    st.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
                   if(com!=null){
                try {
                    com.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
            }
        }
            }
        }
    }

    这些都是固定的唯一要改的就是sql语句

  • 编写语句

    1. 插入语句

      package com;
      ​
      import com.sun.xml.internal.bind.v2.model.core.ID;
      import com.util.jdbcutils;
      ​
      import java.sql.Connection;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.sql.Statement;
      ​
      public class test {
          public static void main(String[] args) {
              Connection com=null;
              Statement st=null;
              ResultSet rs=null;
              try {
                  com= jdbcutils.getConnection();//获取数据库连接
                   st= com.createStatement();//获取SQL执行对象
                  String  sql="insert into user(`id`,`name`,`password`,`email`,`birthday`)" +
                          "values( `4`,`kai`,`123456`,`2537159362@qq.com`,`1998`)";
                  int i=st.executeUpdate(sql);//执行sql语句,i表示受影响的行数
                  if(i>0){
                      System.out.println("插入成功!");
                  }
              }catch (SQLException e){
                  e.printStackTrace();
              }finally {
                  jdbcutils.release(com,st,rs);//释放资源
              }
          }
      }
      1. 删除语句

        package com;
        ​
        import com.sun.xml.internal.bind.v2.model.core.ID;
        import com.util.jdbcutils;
        ​
        import java.sql.Connection;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.sql.Statement;
        ​
        public class test {
            public static void main(String[] args) {
                Connection com=null;
                Statement st=null;
                ResultSet rs=null;
                try {
                    com= jdbcutils.getConnection();//获取数据库连接
                     st= com.createStatement();//获取SQL执行对象
                    String  sql="delete from user ehere id=1";
                    int i=st.executeUpdate(sql);//执行sql语句,i表示受影响的行数
                    if(i>0){
                        System.out.println("删除成功!");
                    }
                }catch (SQLException e){
                    e.printStackTrace();
                }finally {
                    jdbcutils.release(com,st,rs);//释放资源
                }
            }
        }

        和插入相比就变了一个sql,增删改都用的.executeUpdate,都只要修改sql语句就行

        1. 修改语句

        package com;
        ​
        import com.sun.xml.internal.bind.v2.model.core.ID;
        import com.util.jdbcutils;
        ​
        import java.sql.Connection;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.sql.Statement;
        ​
        public class test {
            public static void main(String[] args) {
                Connection com=null;
                Statement st=null;
                ResultSet rs=null;
                try {
                    com= jdbcutils.getConnection();//获取数据库连接
                     st= com.createStatement();//获取SQL执行对象
                    String  sql="update user set name=kai ehere id=1";
                    int i=st.executeUpdate(sql);//执行sql语句,i表示受影响的行数
                    if(i>0){
                        System.out.println("修改成功!");
                    }
                }catch (SQLException e){
                    e.printStackTrace();
                }finally {
                    jdbcutils.release(com,st,rs);//释放资源
                }
            }
        }
  • 查询

    package com;
    ​
    import com.sun.xml.internal.bind.v2.model.core.ID;
    import com.util.jdbcutils;
    ​
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    ​
    public class test {
        public static void main(String[] args) {
            Connection com=null;
            Statement st=null;
            ResultSet rs=null;
            try {
                com= jdbcutils.getConnection();//获取数据库连接
                 st= com.createStatement();//获取SQL执行对象
                String  sql="select * from user   ehere id=1";
                rs==st.executeQuery(sql);//查询完毕,会返回结构集
             while(rs.next()){
                 System.out.print(rs.getString(columnlabel:"name")//把结构集打印出来
             }
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                jdbcutils.release(com,st,rs);//释放资源
            }
        }
    }
这篇关于java操作JDBC实现增删改查工具类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!