【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 ...
随机推荐
- Pytest高级进阶之Fixture
From: https://www.cnblogs.com/feiyi211/p/6626314.html 一. fixture介绍 fixture是pytest的一个闪光点,pytest要精通怎么能 ...
- ABBYY FineReader 14OCR解锁
ABBYY FineReader 14是2017年新推的文字处理编辑软件,能够将图像扫描转换成文档处理.不论是在使用群体方面还是功能特性方面都是极好的. •确保扫描仪正确地连接到电脑,并将其打开.查阅 ...
- Qt文件系统之QFile
QFile文件操作 文件打开方式: QIODevice::NotOpen 0x0000 设备不打开.QIODevice::ReadOnly 0x0001 设备 以只读的方式打开.Q ...
- The usage of docker image wurstmeister/kafka
The docker image wurstmeister/kafka is the most stared image for kafka in hub.docker.com, but the us ...
- (转)SQLServer_十步优化SQL Server中的数据访问 三
原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第六步:应用高级索引 实施计算列并在这些列上创建索引 你可能曾经写过从 ...
- SpringMvc实现的简单原理
1.浏览器发送请求 2.服务器执行servlet的(前端控制器)解析器 3.servlet通过(前端控制器)解析器拿到所有带有@Controller注解的类,并遍历类中的所有方法 4.将遍历的方法中带 ...
- django框架使用mysql报错,及两种解决方法
1.django框架 settings.py文件中部分代码: DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3' ...
- mac更新node,npm版本
最近开发发现node版本多低的提示,于是升级一下 # 清除node.js的cache: $ sudo npm cache clean -f # 安装 n 工具,专门用来管理node.js版本的工具 $ ...
- Webservice 从客户端中检测到有潜在危险的 request.form值[解决方法]
<system.web> <httpRuntime requestValidationMode="2.0" /> <pages validateReq ...
- python 最大连续子数组的和
抛出问题: 求一数组如 l = [0, 1, 2, 3, -4, 5, -6],求该数组的最大连续子数组的和 如结果为[0,1,2,3,-4,5] 的和为7 问题分析: 这个问题很简单,直接暴力法,上 ...