JDBC学习一 基础 一个简单的增删该查例子

2024-02-16 10:32

本文主要是介绍JDBC学习一 基础 一个简单的增删该查例子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

jdbcUtil02.java

 

//单例模式
public final class jdbcUtil02 {
 static String url = "jdbc:mysql://localhost:3306/jdbc";
 static String username = "root";
 static String password = "root";
 
 //private static jdbcUtil02 instance = new jdbcUtil02();
 private static jdbcUtil02 instance= null;
 //构造私有化
 private jdbcUtil02(){
  
 }
 
 //提供一个公共的static方法
 public static jdbcUtil02 getInstance(){
  if (instance==null) {
   //延迟加载  使用的时候new
   //处理并发问题  可以加锁
   synchronized (jdbcUtil02.class) {
    instance = new jdbcUtil02();
   }
  }
  return instance;
 }
 
 public static Connection getConnection() throws SQLException {
  return DriverManager.getConnection(url, username, password);
 }
 
 public static void free(Statement st, Connection conn, ResultSet rs) {
  try {
   if (rs != null) {
    rs.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if (conn != null) {
     conn.close();
    }
   } catch (SQLException e2) {
    e2.printStackTrace();
   } finally {
    try {
     if (st != null) {
      st.close();
     }
    } catch (SQLException e2) {
     e2.printStackTrace();
    }
   }
  }
 }
}

 

 

package com.sg.test;

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

import org.junit.Test;

public class JdbcCRUDTest {
 // 查询
 @Test
 public void select() throws Exception {
  Connection conn = jdbcUtil02.getInstance().getConnection();
  Statement st = conn.createStatement();
  ResultSet rs = st.executeQuery("select * from user");

  while (rs.next()) {
   System.out.println("id:" + rs.getInt("id") + "\n name:"
     + rs.getString("name") + "\n age:" + rs.getInt("age")
     + "\n sex" + rs.getString("sex") + "\n brithday:"
     + rs.getDate("brithday"));
  }
  // 关闭资源
  jdbcUtil02.free(st, conn, rs);
 }
 //添加
 @Test
 public void insert() throws Exception {
  Connection conn = jdbcUtil02.getInstance().getConnection();
  Statement st = conn.createStatement();
  String sql = "insert into user values(4,'name1',20,'nan','1992-12-28')";
  int i = st.executeUpdate(sql);
  System.out.println("i = "+i);
  
 }
 //修改
 @Test
 public void update() throws Exception {
  Connection conn = jdbcUtil02.getInstance().getConnection();
  Statement st = conn.createStatement();
  String sql = "update user set age = 30 where id = 1";
  int i = st.executeUpdate(sql);
  
 }
 //删除
 @Test
 public void delete() throws Exception {
  Connection conn = jdbcUtil02.getInstance().getConnection();
  Statement st = conn.createStatement();
  String sql = "delete from user where id > 2";
  int i = st.executeUpdate(sql);
  
 }
 
}

这篇关于JDBC学习一 基础 一个简单的增删该查例子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714281

相关文章

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设