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

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

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

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

  1. source ~/.bash_profile
下面这个地址就是官网事例的地址。把classpath路径配置好,就能在Java文件中就能直接引用它了。
  1. import java.sql.*;
  2. 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语句就行了

  1. import java.util.Date;
  2. import java.sql.ResultSet;
  3. import java.sql.Statement;
  4. import java.sql.Connection;
  5. import java.util.Properties;
  6. import java.sql.DriverManager;
  7. // import java.sql.PreparedStatement;
    // 要是嫌上面引入的这么具体比较麻烦,就可以直接引入*替换上面的所有包。import java.sql.*;import java.util.*;
  8.  
  9. class MyMethod{
  10. static void myMethod() {
  11. System.out.println("try to connect database!");
  12. }
  13.  
  14. public static void main(String[] args) {
  15. // myMethod();
  16. testConn();
  17. }
  18.  
  19. static void testConn(){
  20. //单个文件测试java连接数据库,测试成功
  21. String url = "jdbc:postgresql://localhost/test";
  22. Properties props = new Properties();
  23. props.setProperty("user", "dm-mac");
  24. props.setProperty("password", "");
  25. // props.setProperty("ssl", "false");//默认就是ssl=false
  26. String pg_driver="org.postgresql.Driver";// 这里是固定写法,官网要求的,驱动就是这么写
  27. try{
  28. Class.forName(pg_driver);
  29. }catch(Exception ex){
  30. //catch异常捕获是语法要求,否则编译不通过。下面的异常捕获也是这样
  31. ex.printStackTrace();
  32. }
  33. // String url = "jdbc:postgresql://localhost/test?user=dm-mac&password=&ssl=false";
  34. try{
  35. // Connection conn = DriverManager.getConnection(url);//获取链接的两种方式
  36. Connection conn = DriverManager.getConnection(url, props);
  37. Statement stm = conn.createStatement();
  38. String sql_sentence="select host_id,host_type,host_name,"+
  39. "dep_id,dep_type,dep_name,idx,date from tb_relation limit 3";
  40. ResultSet res = stm.executeQuery(sql_sentence);
  41. System.out.println("res: "+res.getType()+" :"+res);
  42. System.out.println();
  43. while(res.next()){
  44. //下面就是遍历查出来的数据,拼接输出数据结构
  45. String host_id=res.getString("host_id");
  46. String host_type=res.getString("host_type");
  47. String host_name=res.getString("host_name");
  48. String dep_id=res.getString("dep_id");
  49. String dep_type=res.getString("dep_type");
  50. String dep_name=res.getString("dep_name");
  51. Integer id=res.getInt("idx");
  52. Date date=res.getDate("date");
  53. System.out.println(
  54. "调用方ID:"+host_id+" 调用方类型:"+host_type+" 调用方名称:"+host_name+
  55. " 被调用方ID:"+dep_id+" 被调用方类型:"+dep_type+" 被调用方名称:"+dep_name+
  56. " id:"+id+" 当前时间:"+date);
  57. System.out.println();
  58. }
  59. //释放数据库连接
  60. res.close();
  61. conn.close();
  62. }
  63. catch(Exception ex){
  64. ex.printStackTrace();
  65. }
  66. }
  67. }

单个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. 单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)

    环境:Single Instance -> RAC Single Instance: db_name=demo db_unique_name=demo instance_name=demo se ...

  2. MySQL sql 语句大全

    mysql sql语句大全 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql se ...

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

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

  4. visual studio(vs2017、vs2019)离线安装包下载、制作

    一.下载安装引导程序(以vs-professional-2019为例) https://aka.ms/vs/16/release/vs_professional.exe 二.在引导程序目录打开cmd命 ...

  5. .net core 阿里云接口之拷贝文件

    紧接上文, 1).net core 阿里云接口之获取临时访问凭证_SunshineGGB的博客-CSDN博客 2).net core 阿里云接口之将指定的OSS文件下载到流_SunshineGGB的博 ...

  6. C# winform 一个窗体需要调用自定义用户控件的控件名称

    给用户控件ucQRCode增加属性: //二维码图片 private PictureBox _pictureBoxFSHLQrCode; public PictureBox PictureBoxFSH ...

  7. 安装和配置Java开发环境JDK

    我们通常软件开发的操作系统选择Windows,生产环境选择linux或windows Server.移动开发可能是安卓或IOS和鸿蒙系统等. Windows下一般选择的是64位的操作系统,一般建议CP ...

  8. STM32F4寄存器初始化:编码器

    RCC->APB1ENR|=1<<0; //TIM2时钟使能 RCC->APB1ENR|=1<<1; //TIM3时钟使能 RCC->APB1ENR|=1&l ...

  9. 多重背包问题 II

    有 NN 种物品和一个容量是 VV 的背包. 第 ii 种物品最多有 sisi 件,每件体积是 vivi,价值是 wiwi. 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大.输 ...

  10. 梅毒感染者能否应用TNF抑制剂

    对于伴发的未经控制的任何严重感染,都不适合使用TNF抑制剂.在1998年国际上首个TNF抑制剂获批治疗类风湿关节炎(RA)以来,这就是广大临床医生和风湿性疾病患者的共识.在临床实践中,需要权衡药物的利 ...