【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 ...
随机推荐
- Centos 7 虚拟机挂载U盘
本文记录环境为在Windows 7环境下,通过VMware安装Centos 7.2.挂载U盘过程如下,供日后查看,也供各位读者遇到类似问题时参考. 挂载过程及问题排除如下: 1.因为是虚拟机,所以先到 ...
- (整理)REHL6.5_安装本地yum
1.检查是否安装yum包 查看RHEL是否安装了yum,若是安装了,那么又有哪些yum包:rpm -qa |grep yum 2 删除redhat自带的yum包 rpm -qa|grep yum|xa ...
- C#验证ip地址的代码
如下的代码是关于C#验证ip地址的代码. public Boolean CheckIPValid(String strIP) { char chrFullStop = '.'; string[] ar ...
- Python threading(多线程)
threading模块在较低级别thread模块之上构建更高级别的线程接口. 一.threading模块定义了以下函数和对象: threading.active_count() 等同于threadin ...
- 【python】django上传文件
参考:https://blog.csdn.net/zahuopuboss/article/details/54891917 参考:https://blog.csdn.net/zzg_550413470 ...
- 从 注解和继承 到 JAXB中的注意事项
从 注解和继承 到 JAXB中的注意事项 注解在继承中的行为 如果一个父类添加了一个注解,子类是否能取到这个注解呢?如下 package inheritance; import java.lang.a ...
- (11)ssh免密登录配置
***在Linux命令行中登录到另一台虚拟机(需要用到ssh协议) Linux中默认有ssh的服务器端和客户端,客户端的名字就叫ssh 前提是当前使用的用户名在待连接的虚拟机中存在 格式: ssh ...
- request和response的常用方法
一.request 1.setAttribute()在Request域中存储数据 2.setCharacterEncoding()设置请求参数的编码方式,只对post请求有效 3.getMet ...
- java中Method.invoke方法参数解析
通过发射的机制,可以通过invoke方法来调用类的函数.invoke函数的第一个参数是调用该方法的实例,如果该方法是静态方法,那么可以用null或者用类来代替,第二个参数是变长的,是调用该方法的参数. ...
- HTML5 汉字转化为拼音,带读声,穷举多音字
1,没别的,像这种没有规则的转化,我们首先需要一个字典文件,字典文件的完整度,决定了转化的成功率与精确度 2,笔者收集了较为完整的字典文件,已上传到博客园,欢迎补充 => https://b ...