jdbc就是直接连接数据库,而jndi一般是在服务器上配置了数据库连接池后采用的一种方便用户查找的方法。如果自己学习就用jdbc,但是如果做项目的话一定记得配置数据库连接池并使用jndi,这样快一些,也更专业一些。
找到tomcat解压后的目录 C:\programs\apache-tomcat-7042
在conf目录下主要在serverxml和contextxml中添加配置
在serverxml中添加数据库连接地址,在<GlobalNamingResources>中添加如下内容
<Resource auth="Container" driverClassName="orgpostgresqlDriver" factory="orgapachetomcatjdbcpoolDataSourceFactory" initialSize="3" jdbcInterceptors="orgapachetomcatjdbcpoolinterceptorConnectionState;orgapachetomcatjdbcpoolinterceptorStatementFinalizer" jmxEnabled="true" logAbandoned="true" maxActive="5" maxWait="10000" minEvictableIdleTimeMillis="30000" minIdle="3" name="jdbc/userdb" password="123456" removeAbandoned="true" removeAbandonedTimeout="60" testOnBorrow="true" testOnReturn="false" testWhileIdle="true" timeBetweenEvictionRunsMillis="30000" type="javaxsqlDataSource" url="jdbc:postgresql://localhost:5432/userdb" username="postgres" validationInterval="30000"/>
在contextxml添加jndi全局变量,在 </Context>上面添加如下内容:
<ResourceLink global="jdbc/userdb" name="jdbc/userdb" type="javaxsqlDataSource"/>
属性中的name对应的值要和上一步 Resource 里面的name值一样
有多个数据库连接时对应上面多个<Resource>和<ResourceLink>即可
在spring中使用jndi的方法 在applicationContextxml配置文件中添加dataSource
<bean id="dataSource" class="orgspringframeworkjndiJndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/userdb" /> <property name="resourceRef" value="true" /> </bean>
java开发的时候,数据库连接方式除了jdbc,jndi,还有JDBC-ODBC桥的方式、JDBC+厂商Database Connection Server+DataBase的形式和纯JDBC+DATABASE的连接方式。推荐选择千锋教育,千锋教育服务面对企业建立全方位、立体化、遍布全国的企业合作网络,覆盖全国一线二线城市大中小型公司。
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的 *** 作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
想要了解更多Java培训的相关信息,推荐咨询千锋教育。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctxlookup("test");
改成Context ctx = new InitialContext();
DataSource ds = (DataSource) ctxlookup(java:comp/env/test);
记得要引如javaxnaming这个包
Webxml中ResourceParams name设置数据源名为test
以上就是关于请问使用JDBC 和JNDI连接数据库哪个更有优势全部的内容,包括:请问使用JDBC 和JNDI连接数据库哪个更有优势、怎么用jndi获取tomcat的数据库配置、java开发的时候,数据库连接方式除了jdbc,jndi,还有有哪几种等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)