Java连接数据库,及增删改查的示例

 更新时间:2020年10月10日 08:42:41   作者:南方的墙  
这篇文章主要介绍了Java连接数据库,及增删改查的示例,帮助大家更好的利用Java处理数据,感兴趣的朋友可以了解下

自定义连接数据库的util类

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCUtil {
  // 定义驱动器类的路径
  private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
  // 定义用于连接数据库的URL
  private static final String URL = "jdbc:oracle:thin****l";
  // 定义用于访问数据库的用户名及密码
  private static final String USERNAME = "s****t";
  private static final String PASSWORD = "t***r";

  // 加载驱动器类
  static {
    try {
      Class.forName(DRIVER);
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
  }

  // 定义获得连接的方法
  public static Connection getConnection() {
    Connection conn = null;
    ;
    try {
      conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return conn;
  }

  // 定义释放数据库资源的方法
  public static void destory(Connection con, Statement stat, ResultSet rs) {
    if (rs != null) {
      try {
        rs.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }

    if (stat != null) {
      try {
        stat.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }

    if (con != null) {
      try {
        con.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }

}

基本类

package com.shuzf.jdbc;

public class Student {
  private Integer Id;
  private String Name;
  private String Sex;
  private int Age;
   
  public Student() {
    super();
  }
  public Student(String name, String sex, int age) {
    Id = null;
    Name = name;
    Sex = sex;
    Age = age;
  }
  public Integer getId() {
    return Id;
  }
  public void setId(Integer id) {
    Id = id;
  }
  public String getName() {
    return Name;
  }
  public void setName(String name) {
    Name = name;
  }
  public String getSex() {
    return Sex;
  }
  public void setSex(String sex) {
    Sex = sex;
  }
  public int getAge() {
    return Age;
  }
  public void setAge(int age) {
    Age = age;
  }

}

增删改查

package com.shuzf.jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class JdbcTest {

  public int insert(Student student) {
    Connection conn = JDBCUtil.getConnection();
    int i = 0;
    PreparedStatement pst = null;
    String sql = "insert into students (Name,Sex,Age,Addtime) values(?,?,?,?)";
    try {
      pst = conn.prepareStatement(sql);
      pst.setString(1, student.getName());
      pst.setString(2, student.getSex());
      pst.setInt(3, student.getAge());
      pst.setDate(4, new Date(new java.util.Date().getTime()));
      i = pst.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      JDBCUtil.destory(conn, pst, null);
    }
    return i;
  }

  public int update(Student student) {
    Connection conn = JDBCUtil.getConnection();
    int i = 0;
    PreparedStatement pst = null;
    String sql = "update students set Age='" + student.getAge() + "' where Name='" + student.getName() + "'";
    try {
      pst = conn.prepareStatement(sql);
      i = pst.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      JDBCUtil.destory(conn, pst, null);
    }
    return i;
  }

  public int delete(Student student) {
    Connection conn = JDBCUtil.getConnection();
    int i = 0;
    PreparedStatement pst = null;
    String sql = "delete from students where Name='" + student.getName() + "'";
    try {
      pst = conn.prepareStatement(sql);
      i = pst.executeUpdate();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      JDBCUtil.destory(conn, pst, null);
    }
    return i;
  }

  public ArrayList<Student> getStudent(String name) {
    Connection conn = JDBCUtil.getConnection();
    PreparedStatement pst = null;
    ResultSet rs = null;
    ArrayList<Student> students = new ArrayList<Student>();
    String sql = "select * from students where Name='" + name + "'";
    try {
      pst = conn.prepareStatement(sql);
      rs = pst.executeQuery();
      // int count = rs.getMetaData().getColumnCount();// 指示列数目的 int值
      while (rs.next()) {
        Student s = new Student();
        s.setId(rs.getInt("id"));
        s.setName(rs.getString("name"));
        s.setSex(rs.getString("sex"));
        s.setAge(rs.getInt("age"));
        students.add(s);
      }
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      JDBCUtil.destory(conn, pst, rs);
    }
    return students;
  }

  public static void main(String[] args) {
    // TODO Auto-generated method stub

  }

}

以上就是Java连接数据库,及增删改查的示例的详细内容,更多关于Java 操作数据库的资料请关注脚本之家其它相关文章!

相关文章

  • java的nio的使用示例分享

    java的nio的使用示例分享

    这篇教程展示了5个在Java编程的一些常见场景里使用NIO和NIO.2包的简单示例,需要的朋友可以参考下
    2014-03-03
  • SpringBoot Java后端实现okhttp3超时设置的方法实例

    SpringBoot Java后端实现okhttp3超时设置的方法实例

    Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,下面这篇文章主要给大家介绍了关于SpringBoot Java后端实现okhttp3超时设置的相关资料,需要的朋友可以参考下
    2021-10-10
  • java单链表实现书籍管理系统

    java单链表实现书籍管理系统

    这篇文章主要为大家详细介绍了java单链表实现书籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 剑指Offer之Java算法习题精讲二叉树与N叉树

    剑指Offer之Java算法习题精讲二叉树与N叉树

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • Java之单例设计模式示例详解

    Java之单例设计模式示例详解

    这篇文章主要介绍了Java之单例设计模式示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • RabbitMQ死信机制实现延迟队列的实战

    RabbitMQ死信机制实现延迟队列的实战

    本文主要介绍了RabbitMQ死信机制实现延迟队列的实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Java中InetAddress类的使用

    Java中InetAddress类的使用

    InetAddress类是Java中用于表示IP地址的类,本文就来介绍一下Java中InetAddress类的使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 详解Mybatis是如何把数据库数据封装到对象中的

    详解Mybatis是如何把数据库数据封装到对象中的

    这篇文章主要介绍了Mybatis是如何把数据库数据封装到对象中的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • APT 注解处理器实现 Lombok 常用注解功能详解

    APT 注解处理器实现 Lombok 常用注解功能详解

    这篇文章主要为大家介绍了使用APT 注解处理器实现 Lombok 常用注解功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • spring boot加载资源路径配置和classpath问题解决

    spring boot加载资源路径配置和classpath问题解决

    这篇文章主要介绍了spring boot加载资源路径配置和classpath问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论