【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 ...
随机推荐
- 在命令行终端运行 Elisp 脚本
通常,我们在 Emacs 中运行 Elisp 代码片段,但是也可能需要在命令行终端运行 Elisp 脚本程序.在命令行终端运行 Elisp 脚本需要使用 --script 选项,例如: emacs - ...
- Windows下安装Python虚拟环境
Windows下安装Python虚拟环境 虚拟环境安装 需求概要 "虚拟环境"是从电脑独立开辟出来的环境.就好比我们生活中的橱柜中,会把酱油放在一个瓶子里,把醋放在另外一个瓶子里, ...
- scala中Either的一种使用场景
用scala有一年多了,对于scala中的Option和Try使用的较为频繁,对其应用场景相对熟悉一些.而对于Either,仔细回想一下却发现几乎(完全)没有使用过,其实并不是没有遇到过Either的 ...
- jmeter接口测试-GET请求路径中包含特殊字符或中文导致Response400报错
问题描述:接口测试中异常用例GET请求路径中包含特殊字符或中文,运行jmeter会报错,取样器中只能看到Response400,响应结果为空 解决思路: 对于通过BODY发送的中文内容可以用Jmete ...
- C++实现串口的自动识别
1.首先需要遍历注册表得到所有可用的串口 将得到的每一个串口保存到向量vector中,代码如下: // 得到所有的串口号 vector<string> cnComm::getComPort ...
- django中forms和modelform组件的区别
首先,我们来看看modelform的实现 model.py class Book(models.Model): title=models.CharField(max_length=32) price= ...
- 7种清除浮动 (感觉br最好用然而我用的还是overflow)
1.clear清除浮动(添加空div法) 在浮动元素下方添加空div,并给该元素写css样式: {clear:both;height:0;overflow:hidden;} 2.方法:给浮动元素父级设 ...
- es6 和 python 语法比较
http://www.linchaoqun.com/html/cms/content.jsp?id=1509528630774 Python3笔记:Python与ECMAScript部分语法对比 ht ...
- asp.net 微信开发(二)
本节我们主要讲解微信的调试: 前言:平时我们开发项目都是在本地就能进行项目的开发调试,但是在微信上就有难度了,因为微信的数据需要从微信服务器上面拿,所以就需要直接在网站上调试了,接下来就相关的一些个人 ...
- VM下安装Windows 2008 R2服务器操作系统
打开虚拟机,双击双击新的虚拟机. 2 硬件兼容性选择workstation10.点击下一步. 3 选择我以后安装操作系统.点击继续 4 选择Microsoft windows,版本为windows s ...