JNDI数据源指的是xml配置文件吗

cdsnmdl 2009-06-27 10:05:33
1.用JNDI连接数据库时说的数据源是什么概念啊,配置文件放置目录及编写方法?
2.它跟JDBC连接数据库的根本的区别是什么(JDBC也可以用配置文件吧)?
3.JPA(Java Persistence Api)是什么,跟JDBC有什么区别?

说明:没道问题选一个最优的给10分
...全文
417 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mydeman 2009-06-29
  • 打赏
  • 举报
回复
JDNI连接数据库应该是更高级一些,为用户做了很多JDBC的细节任务,比如说数据连接的初始化、释放。
http://www.ibm.com/developerworks/cn/java/j-jndi/
zhaodalong 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xcj0722 的回复:]
。。。顶!
[/Quote]
头像真猛!
cdsnmdl 2009-06-28
  • 打赏
  • 举报
回复
感谢各位的回答
我个人感觉JNDI和JDBC的最大的区别是JNDI有连接池,JDBC则没有
中智软件科技 2009-06-28
  • 打赏
  • 举报
回复
JDNI 是一种技术 就好象JDBC 也是种技术
sangshusen_1988 2009-06-27
  • 打赏
  • 举报
回复
jpa是java persistense api的缩写,是java推出的持久化规范,它不是一套产品,而是一套规范,
它的出现时为了终止现在hibernate,toplink等持久化产品各自为盈的局面。这样我们就可以再
不更新代码的情况下对持久层进行更换,比如现在是hibernate,更换成toplink而不用修改代码,
修改下配置就可以了
yhjhoo 2009-06-27
  • 打赏
  • 举报
回复
跟人感觉JNDI连接数据库跟jdbc是一样的,因为java跟数据库连接本质上还得靠jdbc。

JPA是数据持久化的一个概念,大致上就是当数据量太多时,分批读取的意思
zhuqiang22 2009-06-27
  • 打赏
  • 举报
回复

数据源指的是连接数据库的方式
将以下代码放置到tomcat 服务器配置文件中
<Resource name="jdbc/orcldb" auth="Container"
type="javax.sql.DataSource"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="jdbc/orcldb">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.0.64:1521:orcl</value>
</parameter>
<parameter>
<name>username</name>
<value>hbdba</value>
</parameter>
<parameter>
<name>password</name>
<value>fan</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
</ResourceParams>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxwait</name>
<value>10000</value>
</parameter>
<Context path="/jdbc" doBase="jdbc" debug="1" reloadable="true" classContext="true">
<ResourceLink name="jdbc/orcldb" global="jdbc/orcldb" type="javax.sql.DataSouce"/>

</Context>
2: 他跟jdbc的区别是 他是服务器端定义了连接,直接在代码中调用就可以了,而且他是个连接池,定义了许多jdbc不能定义的连接属性 如最大等待时间 空间时间 ,每次连接的最大访问人数等。
inthirties 2009-06-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 cdsnmdl 的帖子:]
1.用JNDI连接数据库时说的数据源是什么概念啊,配置文件放置目录及编写方法?
2.它跟JDBC连接数据库的根本的区别是什么(JDBC也可以用配置文件吧)?
3.JPA(Java Persistence Api)是什么,跟JDBC有什么区别?

说明:没道问题选一个最优的给10分
[/Quote]

1.用JNDI连接数据库时说的数据源是什么概念啊,配置文件放置目录及编写方法?
JNDI和数据源是不是一个概念,JNDI即java name&Directory interface,是j2ee框架技术里的一个,是为j2ee里lookup定义的标准,例如
Context ctx=new InitialContext();
Object datasourceRef=ctx.lookup("java:comp/env/jdbc/mydatasource");
这里就是用jndi来查找的。
他的配置是根据j2ee的规范来的,可以把database描述在web.xml或者ebj-jar.xml等地方。这个建议你看看有关的j2ee,JNDI的一些介绍和例子。


2.它跟JDBC连接数据库的根本的区别是什么(JDBC也可以用配置文件吧)?
是不同的概念,其实最终JNDI找出来的datasource也是用JDBC来封装的,不过是提供了一种装载方式,把有关jdbc的一些信息配置在j2ee的描述文件里,然后通过jndi把datasource查出来用而已。所以jndi和jdbc是不同的角色,jdbc是访问数据库的具体实现,而jndi是可以看作是对象和名称的映射池,datasource是这个映射池中的一个映射的一个对象。

3.JPA(Java Persistence Api)是什么,跟JDBC有什么区别?
JPA是persistence layer的一个高级框架,和hibernate一样,用来简化我们对持久层操作的, 不过和hibernate还不一样,hibernate是一个persistence layer的具体实现,而JPA仅是高级抽象。 而JDBC是这些技术框架都需要的底层技术。 我们即可以直接来替你通过jdbc来操作数据库,也可以通过JPA,hibnerate等来操作。不过用jdbc要麻烦一些。还要自己去操作statement,connection,resultset对象。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sangshusen_1988 的回复:]
jpa是java persistense api的缩写,是java推出的持久化规范,它不是一套产品,而是一套规范,
它的出现时为了终止现在hibernate,toplink等持久化产品各自为盈的局面。这样我们就可以再
不更新代码的情况下对持久层进行更换,比如现在是hibernate,更换成toplink而不用修改代码,
修改下配置就可以了
[/Quote]

顶一下!
xcj0722 2009-06-27
  • 打赏
  • 举报
回复
。。。顶!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧