1.操作的环境 STS,mysql,oracle

orcle 所操作的数据库名为 ORCL 表为 m_stu

表结构如下

mysql  的表为:my_stu

表结构如下

工具类完整代码

 package com.briup.jdbc;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import com.mysql.jdbc.PreparedStatement;
import com.sun.javafx.geom.AreaOp.AddOp; public class jdbcUtils {
// 获取连接
public static Connection getConnection(String str) { if ("mysql".equals(str)) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/my_database?characterEncoding=UTF-8";
String username = "root";
String password = "yue170305";
try {
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("连接到mysql数据库");
return conn;
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} }
if ("oracle".equals(str)) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
String username = "scott";
String password = "yue170305";
try {
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("连接到orcle数据库");
return conn;
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} }
return null; } // 删除数据
public static void delete(Connection conn, String sql) {
try {
Statement statement = conn.createStatement();
try {
statement.execute(sql);
System.out.println("删除数据成功!");
} catch (Exception e) {
System.err.println("出现问题了" + e.getMessage());
e.printStackTrace();
} finally {
close(statement, null, conn);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//修改一条数据
public static void Update(Connection conn, String sql) {
try {
Statement statement = conn.createStatement();
try {
statement.execute(sql);
System.out.println("修改数据成功");
} catch (Exception e) {
System.err.println("出现问题了" + e.getMessage());
e.printStackTrace();
} finally {
close(statement, null, conn);
} } catch (SQLException e) {
e.printStackTrace();
}
}
//查询记录
public static void select(Connection conn, String sql) {
try {
Statement statement = conn.createStatement();
ResultSet res = statement.executeQuery(sql);
while(res.next()) {
int id=res.getInt("id");
String name=res.getString("name");
int age=res.getInt("age");
String sex=res.getString("sex");
System.out.println("id="+id+","+"name="+name+","+"age="+age+","+"sex="+sex);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
close(null, null, conn);
} }
// 添加一条数据
public static void add(Connection conn, String sql) {
try {
Statement statement = conn.createStatement();
try {
statement.execute(sql);
System.out.println("插入数据成功!");
} catch (Exception e) {
System.err.println("出现问题了" + e.getMessage());
e.printStackTrace();
} finally {
close(statement, null, conn);
} } catch (SQLException e) {
e.printStackTrace();
}
} // 关闭连接
public static void close(Statement st, ResultSet rs, Connection conn) {
if (st != null) {
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
} } }

测试类代码

package com.briup.jdbc;

import java.sql.Connection;

public class Test {
public static void main(String[] args) {
//连接到mysql数据库
// Connection connection = jdbcUtils.getConnection("mysql");
// String sql="insert into my_stu values(8,'dadaming',108,'m')";
//jdbcUtils.add(connection, sql); //删除数据(mysql)
// String sql2="delete from my_stu where id=1";
// jdbcUtils.delete(connection, sql2); //连接到oracle数据库
Connection connection2 = jdbcUtils.getConnection("oracle");
String sql1="insert into m_stu values(7,'lifd',15,'n')";
String sql2="delete from m_stu where id=1";
String sql3=" update m_stu "
+ "set name='李悦'"
+ "where id=1";
String sql4="select * from m_stu";
//jdbcUtils.add(connection2, sql1);
//jdbcUtils.delete(connection2, sql2);
//jdbcUtils.Update(connection2, sql3);
jdbcUtils.select(connection2, sql4); }
}

briup_JDBC_自建工具类的更多相关文章

  1. briup_jdbc自建工具类终极版

    总结:此次构建工具类,难点在于查询,所需要的功能是 不管是 oracle还是mysql 都可以连接,并且 提供所需要的实体类,都可以将查询内容封装到实体类中去 遇到的难点  连接时,是从prppert ...

  2. Android utils 之 日志工具类

    工具类 在开发的过程中,我们时常会对代码执行特定的处理,而这部分处理在代码中可能多次用到,为了代码的统一性.规范性等,通过建工具类的方式统一处理.接下来我会罗列各种工具类. 日志工具类 在utils文 ...

  3. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  4. Android Sqlite 工具类封装

    鉴于经常使用 Sqlite 数据库做数据持久化处理,进行了一点封装,方便使用. 该封装类主要支持一下功能 支持多用户数据储存 支持 Sqlite数据库升级 支持传入 Sql 语句建表 支持 SQLit ...

  5. Nutz中那些好用的工具类

    Nutz 是国产的精品开源框架,它全无依赖,只以1兆多的身材,就可以实现SSH全部功能的90%以上.内容主要涵盖了:Ioc.Aop.MVC.Dao.Json等WEB开发的方方面面.  它不仅轻巧,而且 ...

  6. php简单实用的操作文件工具类(创建、移动、复制、删除)

    php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) {  // 原目录,复制到的目录 $dir = opend ...

  7. [性能] Bean拷贝工具类性能比较

    Bean拷贝工具类性能比较 引言 几年前做过一个项目,接入新的api接口.为了和api实现解耦,决定将api返回的实体类在本地也建一个.这样做有两个好处 可以在api变更字段的时候保持应用稳定性 可以 ...

  8. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. 20Spring_JdbcTemplatem模板工具类

    JdbcTemplate 是Spring提供简化Jdbc开发模板工具类.为了更好的了解整个JdbcTemplate配置数据库连接池的过程,这篇文章不采用配置文件的方式,而是采用最基本的代码 的方式来写 ...

随机推荐

  1. JAVA 基础编程练习题33 【程序 33 杨辉三角】

    33 [程序 33 杨辉三角] 题目:打印出杨辉三角形(要求打印出 10 行如下图) 程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 package ...

  2. FTP与SFTP的区别

    简介 wikipedia - FTP --- FTP File Transfer wikipedia - SFTP --- SSH File Transfer 对比 缩写 名称 协议与端口 安全策略 ...

  3. stm32第一章cortex-M3处理器概述

    处理器特点 哈弗结构3级流水线内核 实现Thumb-2指令集,告别切换32位的arm指令和16位的Thumb指令,优化性能和代码密度 结合可配置的嵌套向量中段控制器Nvic,提供非屏蔽中断NMI和32 ...

  4. 【miscellaneous】软件加密方法

    原文:http://www.jiamisoft.com/blog/3471-ruanjianjiamifangfa.html 软件行业的加密是软件厂商为了保护软件开发的利润而采取的一种软件保护方式.当 ...

  5. 【计算机视觉】深度相机(八)--OpenNI及与Kinect for windows SDK的比较

    OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API.OpenNI API由一组可用来编写通用自然交互应用的接口组成.OpenNI的主要目的是要形成一 ...

  6. 模板引擎doT.js用法详解

    作为一名前端攻城师,经常会遇到从后台ajax拉取数据再显示在页面的情境,一开始我们都是从后台拉取再用字符串拼接的方式去更达到数据显示在页面! <!-- 显示区域 --> <div i ...

  7. 最新 唯品会java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.唯品会等10家互联网公司的校招Offer,因为某些自身原因最终选择了唯品会.6.7月主要是做系统复习.项目复盘.LeetCo ...

  8. P5441 【XR-2】伤痕

    Luogu5441 有 \(n\) 个点 ( \(n\) 为奇数 , \(n \le 99\) ) 的完全图 , 其中可以有最多 \(n\) 条无向边 , 其他都是有向边 . 如果对于某四个点不经过这 ...

  9. Kettle无法打开文件资源库

    问题: Kettle无法打开文件资源库. 问题描述: 新建文件资源库之后,资源库路径中有中文路径.退出kettle之后,再次进去发现没有了右上角的connect按钮了. 原因: kettle的repo ...

  10. xpath定位器

    目录 什么是xpath? xpath的作用 xpath的术语 xpath语法 XPath 轴 XPath 运算符 xpath的优势 什么是xpath? 官方解释:XPath即为XML路径语言(XML ...