在单个java文件中,尝试连接数据库,跟python的模块包安装方式很接近,已经测试成功,把博客写一下,记录下来。
 
首先把jdb的驱动包下载下来,就是一个jar包,下面是官网下载地址
官网下载地址:
 
配置驱动包环境变量,我这里用的是Mac,如果是windows,直接在path环境变量中配置好它就行了。
* 下载postgresql包postgresql-42.2.9.jar,把它放到JDK安装路径lib下面,然后把lib下面的这个postgresql包放到全局变量中,
* 也就是官网所说的CLASSPATH下面
 
在用户~目录下,编辑环境变量文件
vim ~/.bash_profile

添加你自己的JDK安装路径,还有postgresql的jar包路径

# JAVA_HOME JDK path
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

再执行一下这个环境变量文件

source ~/.bash_profile
下面这个地址就是官网事例的地址。把classpath路径配置好,就能在Java文件中就能直接引用它了。
import java.sql.*;
import java.util.*;

下面是官网的代码事例

我自己找资料的时候,下面这一段是关键点,网上很多博客都是在告诉你怎么在springboot中可以用它,在maven中的ide里面怎么配置环境,没有人告诉你怎么在单页面里面测试demo,下面这一段在官网中有说明,我这篇博客就是把官网的说明摘出来,翻译成中文而已。

Setting up the Class Path

To use the driver, the JAR archive named postgresql-MM.nn.pp.jar needs to be included in the class path, either by putting it in the CLASSPATH environment variable, or by using flags on the java command line.

下面这个demo可以直接使用,能运行,改成你自己的库和sql语句就行了

import java.util.Date;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.util.Properties;
import java.sql.DriverManager;
// import java.sql.PreparedStatement;
// 要是嫌上面引入的这么具体比较麻烦,就可以直接引入*替换上面的所有包。import java.sql.*;import java.util.*;
class MyMethod{
static void myMethod() {
System.out.println("try to connect database!");
} public static void main(String[] args) {
// myMethod();
testConn();
} static void testConn(){
//单个文件测试java连接数据库,测试成功
String url = "jdbc:postgresql://localhost/test";
Properties props = new Properties();
props.setProperty("user", "dm-mac");
props.setProperty("password", "");
// props.setProperty("ssl", "false");//默认就是ssl=false
String pg_driver="org.postgresql.Driver";// 这里是固定写法,官网要求的,驱动就是这么写
try{
Class.forName(pg_driver);
}catch(Exception ex){
//catch异常捕获是语法要求,否则编译不通过。下面的异常捕获也是这样
ex.printStackTrace();
}
// String url = "jdbc:postgresql://localhost/test?user=dm-mac&password=&ssl=false";
try{
// Connection conn = DriverManager.getConnection(url);//获取链接的两种方式
Connection conn = DriverManager.getConnection(url, props);
Statement stm = conn.createStatement();
String sql_sentence="select host_id,host_type,host_name,"+
"dep_id,dep_type,dep_name,idx,date from tb_relation limit 3";
ResultSet res = stm.executeQuery(sql_sentence);
System.out.println("res: "+res.getType()+" :"+res);
System.out.println();
while(res.next()){
//下面就是遍历查出来的数据,拼接输出数据结构
String host_id=res.getString("host_id");
String host_type=res.getString("host_type");
String host_name=res.getString("host_name");
String dep_id=res.getString("dep_id");
String dep_type=res.getString("dep_type");
String dep_name=res.getString("dep_name");
Integer id=res.getInt("idx");
Date date=res.getDate("date");
System.out.println(
"调用方ID:"+host_id+" 调用方类型:"+host_type+" 调用方名称:"+host_name+
" 被调用方ID:"+dep_id+" 被调用方类型:"+dep_type+" 被调用方名称:"+dep_name+
" id:"+id+" 当前时间:"+date);
System.out.println();
}
//释放数据库连接
res.close();
conn.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}

单个Java文件连接数据库demo的更多相关文章

  1. IDEA运行单个Java文件

    对于某些Java示例可能是只有单个文件,并不是完整的Java工程,那么要如何运行单个Java文件呢,以IDEA为例. 我的环境: IDEA 2017.3.2 jdk 1.8.0.73 操作步骤: 1. ...

  2. 单个java文件打成可执行jar包

    1 概述 使用JDK自带的jar与java将单个java文件打成可执行jar包并运行. 当然也可以使用IDE完成,使用Maven只需要一个简单的package,但是单个文件嘛,没必要这么"凶 ...

  3. 使用命令将单个java文件打包为jar

    思路:先将java文件编译为class文件,然后再打包为jar 参考博文:https://www.cnblogs.com/sxdcgaq8080/p/8126770.html http://www.m ...

  4. java 文件读写demo

    分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...

  5. 【java】javac编译多个有依赖关系的java文件为class文件

    历史文章: [jar]JDK将单个的java文件打包为jar包,并引用到项目中使用[MD5加密] [java]javac命令在win10不可用,提示javac不是内部或外部命令,也不是可运行的程序[解 ...

  6. idea中如何将单个java类导出为jar包文件?

    idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能:  导出单个类文件为jar包! 偶有这种需求,就是某个类文件独立存在,但是需要将其导出为jar,供别人临时使用,或者 ...

  7. JDK11 | 第五篇 : 启动单个Java源代码文件的程序

    文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/h1L4FmzVSix434gVt8Fc7w 一.简介 JEP330-启动单文件代码程序(L ...

  8. 【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】

    ==================================================================================================== ...

  9. Eclipse JAVA文件注释乱码

    将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同. 总结网上的建议和自己的体 ...

  10. myeclipse下java文件乱码问题解决

    中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文 ...

随机推荐

  1. MySQL之字段约束条件

    MySQL之字段约束条件 一.MySQL之字段约束条件 1.unsigned 无符号 unsigned 为非负数,可以用此类增加数据长度 eg:tinyint最大是127,那tinyint unsig ...

  2. linux环境编程(3): 使用POSIX IPC完成进程间通信

    1. 写在前面 之前的文章总结了使用管道进行进程间通信的方法,除了pipe和fifo,Linux内核还为我们提供了其他更高级的IPC方式,包括共享内存,消息队列,信号量等,本篇文章会通过一个具有完整逻 ...

  3. 计算机重装Windows操作系统

    这里使用虚拟机模拟电脑安装操作系统: 一.安装ventoy U盘启动工具: 注意:1.这一步需要格式化U盘,所以最好使用空U盘或者提前备份. 2.这里是下载在电脑上面,不是下载在U盘里面. 下载好后进 ...

  4. 完整工作流整合方案,自定义配置,Java+Vue+Activiti@附配套文档

    前言 activiti工作流引擎项目,企业erp.oa.hr.crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求. 一.项目形式 springboot+v ...

  5. wsl 网络探究

    省流:wsl2能否固定ip地址? - 豆腐干的回答 - 知乎 https://www.zhihu.com/question/387747506/answer/2764445888 割--------- ...

  6. 环形链表I、II(含代码以及证明)

    环形链表 解题思路 定义两个指针,一个快指针,一个慢指针,快指针每次移动两个节点,慢指针每次移动一个节点. 从头节点开始,让快慢指针同时移动,如果链表中有环,那么快慢指针一定会在某个节点相遇. 如果快 ...

  7. 【DS】2.1

    线性表:c++各种基础操作里面,有&没&避免错的代码额~ #include <stdio.h> void test(int &x){//没有&就没有带回主函 ...

  8. Serverless Streaming:毫秒级流式大文件处理探秘

    摘要:本文将以图片处理的场景作为例子详细描述当前的问题以及华为云FunctionGraph函数工作流在面对该问题时采取的一系列实践. 文章作者|旧浪:华为云Serverless研发专家.平山:华为云中 ...

  9. imax6开发版_挂载NFS文件系统

    挂载:mount -o vers=4 192.168.30.108:/home/penuel/linux_imax6/workdir /home/root/workdir 取消挂载:umount /h ...

  10. Zabbix监控阿里云SLB操作指引

    1. SLB介绍 阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素.通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升 ...