JDBC操作数据库的增加、删除、更新、查找实例分析

 更新时间:2015年10月19日 14:11:32   作者:烟大洋仔  
这篇文章主要介绍了JDBC操作数据库的增加、删除、更新、查找方法,以完整实例形式分析了Java基于JDBC连接数据库及进行数据的增删改查等技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了JDBC操作数据库的增加、删除、更新、查找方法。分享给大家供大家参考,具体如下:

package cn.com.JDBC;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class CRUD {
 public static void main(String[] args) throws SQLException {
  // TODO Auto-generated method stub
  //create();
  //update();
  delete();
  read();
 }
 static void delete() throws SQLException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   String sql="delete from user where id>5";
   int i=st.executeUpdate(sql);
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
 static void update() throws SQLException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   String sql="update user set money=money+20";
   int i=st.executeUpdate(sql);
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
 static void create() throws SQLException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   String sql="insert into user(name,birthday,money) values('wy','2011-09-23','2894656')";
   int i=st.executeUpdate(sql);
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
 static void read() throws SQLException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立连接
   conn=JdbcUtils.getConnection();
   //单例设计模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.创建语句
   st=conn.createStatement();
   //4.执行语句
   resultset=st.executeQuery("select id,name,birthday,money from user");
   //5.处理结果
   while(resultset.next())
   {
    System.out.println(resultset.getObject("id"));
    System.out.println(resultset.getObject("name"));
    System.out.println(resultset.getObject("birthday"));
    System.out.println(resultset.getObject("money"));
   }
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
}
package cn.com.JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcUtils 
{
 private static String url="jdbc:mysql://localhost:3306/jdbc";
 private static String user="root";
 private static String password="123";
 private JdbcUtils()
 {
 }
 static
 {
  try
  {
   Class.forName("com.mysql.jdbc.Driver");
  }
  catch(ClassNotFoundException e)
  {
   throw new ExceptionInInitializerError(e);
  }
 }
 public static Connection getConnection() throws SQLException
 {
  return DriverManager.getConnection(url, user, password);
 }
 public static void free(ResultSet resultset,Statement st,Connection conn)
 {
  //6.释放资源
  try{
  if(resultset!=null)
   resultset.close();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally
  {
   try
   {
    if(st!=null)
     st.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   finally
   {
    if(conn!=null)
     try {
      conn.close();
     } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
   }
  }
 }
}

希望本文所述对大家Java程序设计有所帮助。

相关文章

  • Java递归寻路实现,你真的理解了吗

    Java递归寻路实现,你真的理解了吗

    递归就是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,需要的朋友可以参考下
    2021-08-08
  • Java线程的调度与优先级详解

    Java线程的调度与优先级详解

    这篇文章主要为大家详细介绍了Java线程的调度与优先级,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • java数据库连接、查询、更新等

    java数据库连接、查询、更新等

    这篇文章主要介绍了java数据库连接、查询、更新等,需要的朋友可以参考下
    2018-05-05
  • 解读System.getProperty("ENM_HOME")中的值从哪获取的

    解读System.getProperty("ENM_HOME")中的值从哪获取的

    这篇文章主要介绍了解读System.getProperty("ENM_HOME")中的值从哪获取的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Spring项目中swagger用法与swagger-ui使用

    Spring项目中swagger用法与swagger-ui使用

    这篇文章主要介绍了Spring项目中swagger用法与swagger-ui使用,通过图文并茂的形式给大家介绍了编写springboot项目的方法及导入spring-fox依赖的代码详解,需要的朋友可以参考下
    2021-05-05
  • SSM框架+Plupload实现分块上传大文件示例

    SSM框架+Plupload实现分块上传大文件示例

    这篇文章主要介绍了SSM框架+Plupload实现分块上传示例(Spring+SpringMVC+MyBatis+Plupload),将用户选中的文件(可多个)分隔成一个个小块,依次向服务器上传,有兴趣的可以了解一下。
    2017-03-03
  • 简单了解SpringMVC全局异常处理常用方法

    简单了解SpringMVC全局异常处理常用方法

    这篇文章主要介绍了简单了解SpringMVC全局异常处理常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java实现蓝桥杯G将军的示例代码

    Java实现蓝桥杯G将军的示例代码

    这篇文章主要介绍了Java实现蓝桥杯G将军的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java获取IP地址及对应的归属地的方法详解

    Java获取IP地址及对应的归属地的方法详解

    这篇文章主要为大家详细介绍了如何利用Java获取IP地址及对应的归属地,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • Java类中this关键字与static关键字的用法解析

    Java类中this关键字与static关键字的用法解析

    这篇文章主要介绍了Java类中this关键字与static关键字的用法解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论