单个Java文件连接数据库demo
在用户~目录下,编辑环境变量文件
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
import java.sql.*;
import java.util.*;
下面是官网的代码事例
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的更多相关文章
- IDEA运行单个Java文件
对于某些Java示例可能是只有单个文件,并不是完整的Java工程,那么要如何运行单个Java文件呢,以IDEA为例. 我的环境: IDEA 2017.3.2 jdk 1.8.0.73 操作步骤: 1. ...
- 单个java文件打成可执行jar包
1 概述 使用JDK自带的jar与java将单个java文件打成可执行jar包并运行. 当然也可以使用IDE完成,使用Maven只需要一个简单的package,但是单个文件嘛,没必要这么"凶 ...
- 使用命令将单个java文件打包为jar
思路:先将java文件编译为class文件,然后再打包为jar 参考博文:https://www.cnblogs.com/sxdcgaq8080/p/8126770.html http://www.m ...
- java 文件读写demo
分析错误日志: import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public ...
- 【java】javac编译多个有依赖关系的java文件为class文件
历史文章: [jar]JDK将单个的java文件打包为jar包,并引用到项目中使用[MD5加密] [java]javac命令在win10不可用,提示javac不是内部或外部命令,也不是可运行的程序[解 ...
- idea中如何将单个java类导出为jar包文件?
idea作为一个java开发的便利IDE工具,个人是比较喜欢的,今天来探索个小功能: 导出单个类文件为jar包! 偶有这种需求,就是某个类文件独立存在,但是需要将其导出为jar,供别人临时使用,或者 ...
- JDK11 | 第五篇 : 启动单个Java源代码文件的程序
文章首发于公众号<程序员果果> 地址 : https://mp.weixin.qq.com/s/h1L4FmzVSix434gVt8Fc7w 一.简介 JEP330-启动单文件代码程序(L ...
- 【jar】JDK将单个的java文件打包为jar包,并引用到项目中使用【MD5加密】
==================================================================================================== ...
- Eclipse JAVA文件注释乱码
将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同. 总结网上的建议和自己的体 ...
- myeclipse下java文件乱码问题解决
中文乱码是因为编码格式不一致导致的.1.进入Eclipse,导入一个项目工程,如果项目文件的编码与你的工具编码不一致,将会造成乱码.2.如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文 ...
随机推荐
- 动力节点——day01
eclipse的快捷键: 1.ctrl+d删除一行 2.ctrl+1进行纠错 3.alt+/自动补全 4.单行注释ctrl+/ 5.多行注释ctrl+shift+/ 取消ctrl+shift+\ 6. ...
- BFC是什么?有什么作用
Block formatting context:块级格式化上下文1.前言官方文档解释为:一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素,BFC是一块块独 ...
- 11月18日内容总结——同步、异步与阻塞、非阻塞的概念、创建进程的多种方式及multiprocessing模块、进程间的数据隔离和IPC机制(队列)、生产者消费者模型、守护进程、僵尸进程、孤儿进程和多进程错乱问题
目录 一.同步与异步 同步 异步 二.阻塞与非阻塞 阻塞 非阻塞 三.综合使用 1.同步阻塞: 2.同步非阻塞: 3.异步阻塞: 4.异步非阻塞: 四.创建进程的多种方式 进程的创建 multipro ...
- java执行js脚本
@Test public void aa() throws NoSuchMethodException { String regular = "function regular(args1) ...
- 使用GetDIBits()获取Windows位图数据的标准用法,解决内存、堆栈报错问题
获取图标的位图数据 分两次使用GetDIBits(),以便于正确设置缓存的大小 正确设置BITMAPINFO的大小,否则就会报堆栈溢出错误 ICONINFO info = { 0 }; GetIcon ...
- ROS入门:小海龟实验
1.初试小海龟 1.roscore 2.rosrun turtlesim turtlesim_node 3.rosrun turtlesim turtle_teleop_key 2.发布话题控制小海龟 ...
- 题解 [SCOI2005]王室联邦
之前树分块也只是听说,今天亲手学了一下(?)( 首先你会发现这个 \(B\) 和 \(3B\) 的约束就很迷(我也不知道为什么搞这种奇怪的约束(悲)),学了才知道... 所以这题的分块方法好像叫&qu ...
- Object.assgin基本知识与相关深浅拷贝
一.关于Object.assgin()基本知识 概念 Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 理解 对象的属性分为可枚举和不 ...
- Qt5 CMake项目简单模板
cmake_minimum_required(VERSION 3.5) project(test VERSION 0.1 LANGUAGES CXX) set(CMAKE_INCLUDE_CURREN ...
- js中各种事件监听
html.push('<input type="button" id="autocount_' + sysTime + '" class="la ...