来源:http://www.ej38.com/showinfo/java-132636.html

使用jar包:
 commons-pool-1.5.3.jar,tomcat-naming-common.jar,commons-pool-1.5.3-bin.zip,commons-dbcp.jar
 注意:jdbc 驱动要与数据库兼容.
 package test.comm;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Hashtable;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class DBConnector {
static private InitialContext ic = null;
static private DataSource ds = null;

static private void initContext(){
try {

BasicDataSource bds = new BasicDataSource();
bds.setUrl("jdbc:oracle:thin:@localhost:1521:test");
bds.setDriverClassName("oracle.jdbc.OracleDriver");
bds.setUsername("test");
bds.setPassword("a");

Hashtable<String, String> evn = new Hashtable<String,String>();
evn.put("java.naming.factory.initial","org.apache.naming.java.javaURLContextFactory");
ic = new InitialContext(evn);
ic.bind("mydatasource", bds);
ds = (DataSource) ic.lookup("mydatasource");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

static public Connection getConn() throws SQLException{
if (ds == null){
initContext();
}
return ds.getConnection();
}

}

测试:
package test;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import test.comm.DBConnector;
public class wfTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Connection conn = DBConnector.getConn();
System.out.println("conn = "+conn);
String qSQL = "SELECT USERNAME,LOGINID from S_U_USER";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(qSQL);

while (rs.next()){
System.out.println(rs.getString("USERNAME"));
System.out.print(" "+rs.getString("LOGINID"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

Java Application 直接通过jndi连接数据库相关推荐

  1. Spring jndi连接数据库

    Spring jndi连接数据库 JNDI 即Java命名目录接口 Java Naming Dictory Interface Spring.xml配置文件 <bean name="d ...

  2. 用JNDI连接数据库

    之前说到了利用Java中的Properties类读取properties配置文件,连接数据库,现在说另一种方法,他们的目的和作用都是一样的,都是为了提高代码的复用性,解决了更改数据库 时还要更改代码的 ...

  3. Redis在Java中的使用及连接数据库(附源码)

    Redis在Java中的使用及连接数据库(附源码) 引言: 本文主要分享了Redis如何在IDEA中部署,运行:模拟加入Redis的操作: 文章目录 Redis在Java中的使用及连接数据库(附源码) ...

  4. java怎么播放不了声音,怎么在java application中播放声音

    如何在java application中播放声音 如何在java application中播放声音,求大神赐教.. 分享到: ------解决方案-------------------- public ...

  5. Java Application和Java Applet

    Java Applet和Java Application 主要区别: (1)运行方式不同.Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容 ...

  6. java中main方法返回类型是6_[单选] Java application中的主类需包含main方法,main方法的返回类型是什么()。...

    [单选] Java application中的主类需包含main方法,main方法的返回类型是什么(). 更多相关问题 关于超声在人体中传播的速度,叙述正确的有A.与人体组织的弹性有关B.与人体组织的 ...

  7. 设计java application程序_下面哪些步骤是Java Application程序的建立及运行的步骤( )...

    [判断题]运用定量模型进行优化控制是提高管理科学性的要求. [多选题]下列有关数组的声明中,正确的是( ) [填空题]是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法. [判断题]数量化.模 ...

  8. java application pdf_從Java應用程序中即時打開PDF文件

    Is there any way to have a code that opens a PDF file in Java application in a platform independant ...

  9. eclipse中提示“java application configureation name i”

    2019独角兽企业重金招聘Python工程师标准>>> A 'Java Application' configuration with this name already exist ...

最新文章

  1. 怼天怼地怼空气的Linus 喜欢和什么样的人一起工作?
  2. 通信工程专业的一些小知识点
  3. 今日定工资,不知是涨是跌,最迟明晚反馈
  4. UserCF,基于用户的协同过滤算法
  5. git 远程仓库管理 分支创建、管理、查看、切换
  6. debug和release的区别
  7. 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<入门篇>
  8. JS异步加载,JQ事件不被执行解决方法
  9. 边缘设备上的实时AI人员检测:选择深度学习模型
  10. 【操作系统】第1章 操作系统概论
  11. Android — 创建和修改 Fragment 的方法及相关注意事项
  12. sql server与java实例_史上最全:PostgreSQL DBA常用SQL查询语句(建议收藏学习)
  13. 分层导航and隐藏导航
  14. 【计算机网络实验】使用Packet Tracer搭建网络拓扑
  15. vue 网页点击置顶图标缓慢置顶
  16. 这种技术能够替代 Android 原生开发?
  17. 如何禁止 Google Chrome 自动更新 (macOS, Linux, Windows)
  18. C语言 字符串解析strchr/strrchr/strtok//strtok_r函数使用
  19. QTimer::singleShot使用
  20. 雷电安卓模拟器修改信息及常用adb命令整理

热门文章

  1. 继BAT之后 第四大巨头是谁
  2. 输入列画表格 在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。 有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)...
  3. C#winform使用进度条
  4. android SharedPreferences的用法
  5. WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用 Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 C
  6. TCP/IP通信程序设计方式
  7. SwiftUI3优秀文章 NavigationLink图片和文字显示蓝色或者图片无显示
  8. IOS15仿微信我的页面
  9. zabbix 时间错误_一键部署Zabbix+Grafana+Icinga+SmokePing监控系统
  10. atom mysql插件_Atom 必备插件