- 浏览: 480839 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
zs769666156:
楼主能不能给个ER图,通过ER图来分析一下这个段代码?想好好学 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
lucky1035:
我只是想长肉 写道源代码下载过来缺少三个包,jsqlparse ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
我只是想长肉:
源代码下载过来缺少三个包,jsqlparser 14 这个哪里 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
wamdy:
多谢博主,找了许久,我看能不能做成eclipse下sql语句的 ...
基于SQL 语法解释器JSqlParser实现的SQL解析工具 -
zzl1787:
怎么下不下来啊
PDF套打模板制作(一)
程序中手工创建JNDI数据源的代码如下:
java 代码
- //创建JNDI DataSource,原文见 http://dev2dev.bea.com.cn/bbsdoc/20060831320.html
- private static void setDataSource() throws NamingException{
- if(ic==null){
- //Create initial context
- System.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.naming.java.javaURLContextFactory");
- System.setProperty(Context.URL_PKG_PREFIXES,"org.apache.naming");
- ic = new InitialContext();
- // Construct BasicDataSource reference
- Reference ref = new Reference("javax.sql.DataSource","org.apache.commons.dbcp.BasicDataSourceFactory", null);
- ref.add(new StringRefAddr("driverClassName",SysParas.getPara("driverClassName")));
- ref.add(new StringRefAddr("url",SysParas.getPara("url")));
- ref.add(new StringRefAddr("username", SysParas.getPara("username")));
- ref.add(new StringRefAddr("password", SysParas.getPara("password")));
- ic.rebind(SysParas.getPara("jndiDs"), ref);
- }
- }
- //创建Connection
- public static Connection testConnection() throws NamingException {
- setDataSource();
- Connection con = null;
- try {
- Context initCtx = new InitialContext();
- DataSource ds = (DataSource) initCtx.lookup(SysParas.getPara("jndiDs"));
- con = ds.getConnection();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return con;
- }
xml 代码
- <?xml version="1.0" encoding="GBK"?>
- <sys_para>
- <!-- 系统参数配置文件 -->
- <para>
- <item code="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
- <item code="url" value="jdbc:microsoft:sqlserver://192.168.2.18;databasename=ewebsafety;SelectMethod=cursor" description=""/>
- <item code="username" value="sa" description=""/>
- <item code="password" value="eweb" description=""/>
- <item code="jndiDs" value="safe" description="数据源名称"/>
- </para>
- </sys_para>
java 代码
- /**
- * @author HuangYong
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
- public class SysParas {
- private static HashMap prop;
- private static long lastLoadTime;
- private static long interval = 1000 * 100;
- /**
- * 读取配置文件参数
- * @param paras
- * @return
- * @throws Exception
- */
- public static synchronized String getPara( String paras ) throws IllegalArgumentException {
- if( paras == null || paras.trim().length()==0 ){
- throw( new IllegalArgumentException ( "Parameter's value invalid." ) );
- }
- long currentTime = System.currentTimeMillis();
- if( (prop == null) || (currentTime-lastLoadTime)>interval ){
- reloadDom();
- }
- Object obj = prop.get( paras );
- if( obj != null ){
- //System.out.println(paras + " = "+(String)obj);
- return( (String)obj );
- }
- return( null );
- }
- private static synchronized void reloadDom() {
- if( prop == null ){
- prop = new HashMap();
- }
- SAXBuilder builder = new SAXBuilder();
- Document read_doc = null;
- try {
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- InputStream in = classLoader.getResourceAsStream("sysConfig.xml");
- read_doc = builder.build(in);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (JDOMException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- Element rootElement = read_doc.getRootElement();
- List list = rootElement.getChildren("para");
- for (Iterator i = list.iterator(); i.hasNext();) {
- Element current = (Element) i.next();
- List item = current.getChildren("item");
- for (Iterator j = item.iterator(); j.hasNext();) {
- Element init = (Element) j.next();
- Attribute code = init.getAttribute("code");
- Attribute value = init.getAttribute("value");
- prop.put(code.getValue(),value.getValue());
- }
- }
- System.out.println("reading sysConfig.xml successfully...");
- lastLoadTime = System.currentTimeMillis();
- }
- public static void main(String [] args){
- System.out.println(SysParas.getPara("uploadSerialNo"));
- }
- }
发表评论
-
访问FreeMarker的工具类
2009-12-13 20:39 7911import java.io.File; import ja ... -
java操作json的通用类
2009-10-25 16:21 2495import java.text.ParseException ... -
利用Axis Ant Task生成Web Service客户端代码(build.xml)
2009-03-03 12:08 3577利用Axis Ant Task生成Web Serv ... -
支付通用工具类(适用于支付及查询)
2009-03-02 12:13 1576最近十天时间都在做跟在线支付相关的开发工作,使用的 ... -
将request中的数据转换到Map中
2009-03-02 12:01 2566以下代码段是将请求request中的数据转换到Ma ... -
基于HttpClient的HttpUtils(后台访问URL)
2009-03-02 11:53 36893最近做在线支付时遇到需要以后台方式访问URL并获取 ... -
jmap + Eclipse MAT :排查内存泄漏的好工具
2008-12-13 11:06 8253当服务器应用占用了过多内存的时候,如何快速定位 ... -
JSON的序列化和反序列化
2008-08-01 16:02 8288JsonTools是一个不错的JSON序列化和反序列化 ... -
Frontend plus 2.03
2007-11-06 21:43 6262class反编译工具,已经破解。 -
Java面试题
2007-09-16 13:35 1577有两个数组,而且都已排序好,现要求将它们合并到一个新的数组c中 ... -
《Design By Contract原则与实践》精彩片断选读
2007-08-30 16:15 2115《Design By Contract原则与实践》精彩片断选 ... -
Array和Vector,HashMap的区别 [转]
2007-08-30 16:06 2382[转]自 http://blog.hunan2 ... -
Jocky--Java混淆编译器
2007-08-15 13:50 6637以下内容摘自Jocky文档 ... -
校验码图片生成
2007-07-16 17:18 2340在B/S结构项目中,为防止别心用心的用户尝试登录通常 ... -
JFreeChart API(中文)[转载]
2007-07-16 09:14 4394[转载自: http ... -
Dozer自动给对象赋值,比BeanUtils好用多了
2007-07-03 10:04 15119在日常的项目中,经常会遇到各层对象之间相互进行值传递的 ... -
Java访问LDAP示例
2007-07-02 11:16 2874在最近一个项目中需要访问LDAP(Domino 6.5),示例 ... -
判断一个IP地址是否为内网IP
2007-07-02 10:59 11604java 代码 public static bo ...
相关推荐
4. **Hibernate**:Hibernate是一个开放源码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java开发者可以使用面向对象的方式来操作数据库。 5. **JNDI数据源**:JNDI(Java Naming and Directory ...
在Tomcat这样的轻量级应用服务器中,JNDI数据源的配置可能因版本不同而有所差异。 二、数据连接池配置 1. **安装**:Apache Commons DBCP(Database Connection Pool)是常用的数据库连接池实现,依赖于Commons ...
在Java应用服务器中,Tomcat是一个广泛使用的轻量级服务器,它支持JNDI(Java Naming and Directory Interface)来管理数据源,使得应用程序能够透明地访问数据库资源。JNDI配置数据源是将数据库连接池集成到Tomcat...
本文将深入探讨一个轻量级的 Java 数据源框架,该框架基于 C3P0 数据源并采用纯 Java 实现,适用于多种数据库,如 MySQL、Oracle 和 SQL Server。 首先,让我们来了解 C3P0 数据源。C3P0 是一个开源的 JDBC 连接池...
本文将详细介绍几种常用的数据源解决方案及其配置方法,包括JNDI方式创建`DataSource`、Apache提供的简单连接池创建数据源、C3P0方式创建数据源、Proxool方式创建数据源以及BoneCP方式创建数据源。 #### JNDI 方式...
1. **BasicDataSource**:这是Apache Commons DBCP库提供的一个简单数据源实现,适用于轻量级应用。配置时,你需要指定数据库驱动、URL、用户名、密码等基本信息。 2. **C3P0**:C3P0是一个开源的JDBC连接池,它...
Spring框架因其强大的依赖注入和AOP(面向切面编程)特性,成为Java领域首选的轻量级框架。Druid是一个优秀的数据库连接池组件,而AtomikosDataSource则是处理分布式事务的重要工具。下面我们将详细探讨如何利用...
常见的JNDI服务器包括轻量级目录访问协议(LDAP)、Tomcat的数据源、EJB容器中的Bean对象、文件系统、注册表等。JNDI服务器的作用在于集中管理资源,方便多个应用程序共享和访问。 2. **为什么要使用JNDI**: 主要...
在本资源中,"轻量级Java EE企业应用实战第4版第4章01源代码.rar" 提供了关于Java EE开发的实践案例。这个压缩包是该书的一个章节内容,由于文件大小限制,被分成了多个部分。在这个部分,我们主要关注的是4.1子目录...
Ibatis 是一个轻量级的持久化框架,它允许开发者将数据库操作与业务逻辑分离,通过映射 SQL 语句到简单的 Java 对象(POJOs)来处理数据。Ibatis 不是 ORM 框架,而是提供了一个 SQL 编写环境,将 SQL 的控制权交给...
MyBatis是轻量级的持久层框架,与Spring整合后,可以通过SqlSessionFactoryBean和SqlSessionTemplate来处理多数据源的切换。在MyBatis中,我们可以为每个数据源创建一个单独的MapperFactoryBean,并配置对应的...
在IT行业中,Tomcat是一款广泛使用的轻量级应用服务器,特别是在Java Web开发中。本篇文章将详细介绍如何在Tomcat 5.5版本中配置数据源,以及如何在JSP程序中使用这个配置好的数据源。 首先,我们来看一下Tomcat ...
JNDI并不是一个具体的目录服务实现,而是一个服务提供商接口(SPI),它允许开发者集成各种命名和目录服务,如LDAP(轻量级目录访问协议)、DNS、RMI注册表等。 在Java应用中,JNDI主要应用于以下场景: 1. **数据...
Spring框架以其轻量级、灵活性及强大的功能,深受开发者们的喜爱。其中,Spring对于数据访问的支持更是其一大亮点。本文将详细介绍如何在Spring中进行数据源的灵活配置,以及如何利用这些配置实现高效的数据访问。 ...
在Java应用服务器中,Tomcat是一个广泛使用的轻量级服务器,而JNDI(Java Naming and Directory Interface)则是Java平台中的一个核心API,用于提供命名和目录服务。本篇文章将深入探讨Tomcat与JNDI的结合使用,帮助...
通过这些知识点的学习,读者将能够构建出一个完整的轻量级Java EE应用,包括前端视图、后端逻辑和数据管理。每个压缩包都是整个应用的一部分,合在一起构成一个完整的案例,有助于读者深入理解和实践Java EE开发。
总结来说,本示例涵盖了两种不同的数据源连接池实现方式:c3p0,一种轻量级的连接池实现,以及JNDI结合jtds,适用于更大型的应用服务器环境。理解并正确使用这些技术,能帮助开发者优化数据库操作,提升应用性能,...
2. **Tomcat**:Apache Tomcat是一个免费的开源的Servlet容器,由于其轻量级结构,常常被用来作为简单的Web服务器。 3. **数据源(DataSource)**:数据源是JDBC API的一个重要组成部分,它负责创建并管理对数据库的...
JNDI的出现使得应用可以与各种不同的命名和目录服务进行交互,如LDAP(轻量级目录访问协议)、DNS(域名系统)或者简单的文件系统。 ### 1. JNDI的基本概念 - **Naming Service**:命名服务,它允许将名字映射到...