【JAVA】JAVAで各DBに接続する方法(JDBC)の纏め(未完結)
■目録

■ソース
①SQLite3
package cn.com.sy; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class SQLiteTest { Connection con = null;
Statement stmt = null; public SQLiteTest() { try {
this.getConnection();
this.dropTbl();
this.createTbl();
this.insertData();
this.selectData();
this.updateData();
this.deleteData();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
} finally {
try {
if (con != null && !con.isClosed()) {
con.close();
System.out.println("DB Connection is Closed.");
}
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
}
} public void getConnection() throws Exception {
Class.forName("org.sqlite.JDBC");
con = DriverManager.getConnection("jdbc:sqlite:./db_data/sqlite/test.db");
System.out.println("DB Connectioning.....");
} public void dropTbl() {
System.out.println("---------------DROP TABLE---------------------");
try {
stmt = con.createStatement();
String sql = "DROP TABLE COMPANY;";
stmt.executeUpdate(sql);
stmt.close();
} catch (Exception e) { }
} public void createTbl() throws Exception {
System.out.println("---------------Create TABLE---------------------");
stmt = con.createStatement();
String sql = "";
sql += "CREATE TABLE COMPANY ";
sql += "(ID INT PRIMARY KEY NOT NULL,";
sql += " NAME TEXT NOT NULL, ";
sql += " AGE INT NOT NULL, ";
sql += " ADDRESS CHAR(50), ";
sql += " SALARY REAL)"; stmt.executeUpdate(sql);
stmt.close();
} public void insertData() throws Exception {
System.out.println("---------------INSERT DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "";
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
stmt.executeUpdate(sql); stmt.close();
con.commit();
} public void selectData() throws Exception {
System.out.println("---------------SELECT DATA---------------------");
//con.setAutoCommit(false);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
} stmt.close();
con.commit();
} public void updateData() throws Exception {
System.out.println("---------------UPDATE DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "UPDATE COMPANY set SALARY = 25000.00 where ID=1;";
stmt.executeUpdate(sql);
con.commit();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public void deleteData() throws Exception {
System.out.println("---------------DELETE DATA---------------------");
stmt = con.createStatement();
String sql = "DELETE from COMPANY where ID=2;";
stmt.executeUpdate(sql);
con.commit(); ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public static void main(String[] args) {
new SQLiteTest();
} }
SQLiteTest.java
②H2
package cn.com.sy; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class H2Test { Connection con = null;
Statement stmt = null;
public H2Test() { try {
this.getConnection();
this.dropTbl();
this.createTbl();
this.insertData();
this.selectData();
this.updateData();
this.deleteData();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
} finally {
try {
if (con != null && !con.isClosed()) {
con.close();
System.out.println("DB Connection is Closed.");
}
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
}
} public void getConnection() throws Exception {
Class.forName("org.h2.Driver");
con = DriverManager.getConnection("jdbc:h2:./db_data/h2/test.db","SA","PASS");
System.out.println("DB Connectioning.....");
} public void dropTbl() {
System.out.println("---------------DROP TABLE---------------------");
try {
stmt = con.createStatement();
String sql = "DROP TABLE IF EXISTS COMPANY;";
stmt.executeUpdate(sql);
stmt.close();
} catch (Exception e) { }
} public void createTbl() throws Exception {
System.out.println("---------------Create TABLE---------------------");
stmt = con.createStatement();
String sql = "";
sql += "CREATE TABLE COMPANY ";
sql += "(ID INT PRIMARY KEY NOT NULL,";
sql += " NAME VARCHAR(50) NOT NULL, ";
sql += " AGE INT NOT NULL, ";
sql += " ADDRESS VARCHAR(50), ";
sql += " SALARY REAL)"; stmt.executeUpdate(sql);
stmt.close();
} public void insertData() throws Exception {
System.out.println("---------------INSERT DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "";
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
stmt.executeUpdate(sql); stmt.close();
con.commit();
} public void selectData() throws Exception {
System.out.println("---------------SELECT DATA---------------------");
//con.setAutoCommit(false);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
} stmt.close();
con.commit();
} public void updateData() throws Exception {
System.out.println("---------------UPDATE DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "UPDATE COMPANY set SALARY = 25000.00 where ID=1;";
stmt.executeUpdate(sql);
con.commit();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public void deleteData() throws Exception {
System.out.println("---------------DELETE DATA---------------------");
stmt = con.createStatement();
String sql = "DELETE from COMPANY where ID=2;";
stmt.executeUpdate(sql);
con.commit(); ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public static void main(String[] args) {
new H2Test();
} }
H2Test.java
③HSQLDB
package cn.com.sy; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class HSQLTest2 { Connection con = null;
Statement stmt = null;
public HSQLTest2() { try {
this.getConnection();
this.dropTbl();
this.createTbl();
this.insertData();
this.selectData();
this.updateData();
this.deleteData();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
} finally {
try {
if (con != null && !con.isClosed()) {
con.close();
System.out.println("DB Connection is Closed.");
}
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
}
} public void getConnection() throws Exception {
Class.forName("org.hsqldb.jdbc.JDBCDriver");
con = DriverManager.getConnection("jdbc:hsqldb:./db_data/hsql/test.db","SA","PASS");
System.out.println("DB Connectioning.....");
} public void dropTbl() {
System.out.println("---------------DROP TABLE---------------------");
try {
stmt = con.createStatement();
String sql = "DROP TABLE IF EXISTS COMPANY;";
stmt.executeUpdate(sql);
stmt.close();
} catch (Exception e) { }
} public void createTbl() throws Exception {
System.out.println("---------------Create TABLE---------------------");
stmt = con.createStatement();
String sql = "";
sql += "CREATE TABLE COMPANY ";
sql += "(ID INT PRIMARY KEY NOT NULL,";
sql += " NAME VARCHAR(50) NOT NULL, ";
sql += " AGE INT NOT NULL, ";
sql += " ADDRESS VARCHAR(50), ";
sql += " SALARY REAL)"; stmt.executeUpdate(sql);
stmt.close();
} public void insertData() throws Exception {
System.out.println("---------------INSERT DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "";
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
stmt.executeUpdate(sql); sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
stmt.executeUpdate(sql); stmt.close();
con.commit();
} public void selectData() throws Exception {
System.out.println("---------------SELECT DATA---------------------");
//con.setAutoCommit(false);
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
} stmt.close();
con.commit();
} public void updateData() throws Exception {
System.out.println("---------------UPDATE DATA---------------------");
con.setAutoCommit(false);
stmt = con.createStatement();
String sql = "UPDATE COMPANY set SALARY = 25000.00 where ID=1;";
stmt.executeUpdate(sql);
con.commit();
ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public void deleteData() throws Exception {
System.out.println("---------------DELETE DATA---------------------");
stmt = con.createStatement();
String sql = "DELETE from COMPANY where ID=2;";
stmt.executeUpdate(sql);
con.commit(); ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String address = rs.getString("address");
float salary = rs.getFloat("salary");
System.out.println("ID = " + id);
System.out.println("NAME = " + name);
System.out.println("AGE = " + age);
System.out.println("ADDRESS = " + address);
System.out.println("SALARY = " + salary);
System.out.println();
}
rs.close();
stmt.close();
} public static void main(String[] args) {
new HSQLTest2();
} }
HSQLTest2
※補足(Maven Repository)※
参考URL:https://mvnrepository.com/
【H2】
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.197</version>
<scope>test</scope>
</dependency>
【HSQLDB】
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.4.1</version>
<scope>test</scope>
</dependency>
【SQLite】
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.25.2</version>
</dependency>
【JAVA】JAVAで各DBに接続する方法(JDBC)の纏め(未完結)的更多相关文章
- Python开发 基礎知識 3.類別&方法 (bool & str) (未完待續)
類別 可使用type()查看 內建 [ 布爾:bool (Boolen) 字串:str (String) 數字:int (Integer) 小數:float 列表:list 元祖:tuple 字典:d ...
- 长距离单历元非差GNSS网络RTK理论与方法总结(未完)
2018-11-04 1.状态空间: 状态空间是控制工程中的一个名词.状态是指在系统中可决定系统状态.最小数目变量的有序集合. 而所谓状态空间则是指该系统全部可能状态的集合.简单来说,状态空间可以 ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...
- java内省机制及PropertyUtils使用方法
背景 一般情况下,在Java中你可以通过get方法轻松获取beans中的属性值.但是,当你事先不知道beans的类型或者将要访问或修改的属性名时,该怎么办?Java语言中提供了一些像java.bean ...
- 【Java】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语 ...
- java中读取资源文件的方法
展开全部 1.使用java.util.Properties类的load()方法 示例: //文件在项目下.不是在包下!! InputStream in = new BufferedInputStrea ...
- Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- JAVA常见中文问题的解决方法(转)
JAVA常见中文问题的解决方法 http://www.java-cn.com/club/article-5876-1.html 以下解决方案是笔者在日常生活中遇到的,希望能对你解决JAVA中文问题有所 ...
- 【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement
本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程.并分别通过Statement和PreparedStatement实现对数据库的查询. 在下一篇blog中将重点比較Statement与P ...
随机推荐
- 关于Oracle字符集在dmp文件导入导出中的乱码影响
Oracle 在进行dmp备份和还原的时候,服务器端字符集和客户端字符集会对这个过程有较大影响,特别是数据表中存储了中文.存储过程中使用了中文编码(注释)的时候,如果没有处理好字符集的问题,在进行还原 ...
- Difference Between Git and SVN
From: http://www.differencebetween.net/technology/software-technology/difference-between-git-and-svn ...
- 0002-小牛学堂大数据24期视频-架构Hadoop-Spark
- Error in loadNamespace 的解决之道
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) 在构建比较复杂的环 ...
- 二叉搜索树(BST)学习笔记
BST调了一天,最后遍历参数错了,没药救了-- 本文所有代码均使用数组+结构体,不使用指针! 前言--BFS是啥 BST 二叉搜索树是基于二叉树的一种树,一种特殊的二叉树. 二叉搜索树要么是一颗空树, ...
- js滚动到指定位置
序言:在网络上百度,关键字:“js div滚动到指定位置”,结果基本上大同小异!各种大神都给我们总结出来了四种滚动到指定位置的办法,可惜再下愚钝,每个都不会用,所以写了一个超级简单的方法来使初学者一看 ...
- package.json文件解析
1.用途:管理你所安装的npm包的依赖,在开发过程中能清楚的查询安装的包的版本以及项目中使用的包依赖,便于开发组成员共享. 2.创建:可以手动创建也可以通过npm init 自动创建. 3.配置项: ...
- JavaScript数组方法--concat、push
利用了两天的时间,使用typescript和原生js重构了一下JavaScript中数组对象的主要方法,可以移步github查看. 这里,按照MDN上的文档顺序,再重新学习一下数组方法吧. conca ...
- leetCode58. 最后一个单词的长度
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: &quo ...
- JDK源码中,都有哪些NB的设计模式?
转载:https://mp.weixin.qq.com/s/h88UxB9F2MkTbHqck3KQiQ 一.结构性模式: 1.适配器模式: 常用于将一个新接口适配旧接口 肥朝小声逼逼:在我们业务代码 ...