JNDI数据源指的是xml配置文件吗 1.用JNDI连接数据库时说的数据源是什么概念啊,配置文件放置目录及编写方法?2.它跟JDBC连接数据库的根本的区别是什么(JDBC也可以用配置文件吧)?3.JPA(Java Persistence Api)是什么,跟JDBC有什么区别?说明:没道问题选一个最优的给10分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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对象。 数据源指的是连接数据库的方式将以下代码放置到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不能定义的连接属性 如最大等待时间 空间时间 ,每次连接的最大访问人数等。 跟人感觉JNDI连接数据库跟jdbc是一样的,因为java跟数据库连接本质上还得靠jdbc。JPA是数据持久化的一个概念,大致上就是当数据量太多时,分批读取的意思 jpa是java persistense api的缩写,是java推出的持久化规范,它不是一套产品,而是一套规范,它的出现时为了终止现在hibernate,toplink等持久化产品各自为盈的局面。这样我们就可以再不更新代码的情况下对持久层进行更换,比如现在是hibernate,更换成toplink而不用修改代码,修改下配置就可以了 JDNI 是一种技术 就好象JDBC 也是种技术 感谢各位的回答我个人感觉JNDI和JDBC的最大的区别是JNDI有连接池,JDBC则没有 JDNI连接数据库应该是更高级一些,为用户做了很多JDBC的细节任务,比如说数据连接的初始化、释放。http://www.ibm.com/developerworks/cn/java/j-jndi/ struts2的<s:select> 如何获取选中的值传入数据库 求教下JSON的时间的问题 JBPM spring+hibernate配置问题 nutch9.0 windows 如何增量索引 求助:struts中文问题 求:<<深入浅出Hibernate>> 源码 高分求助!不看不知道,一看吓一跳!! 关于tomcat的问题!!急!!高手请进 跪求:怎样在客户端(*.java)通过JDBC验证MySQL中的用户名和密码?要求用JAAS(JAVA验证和授权)实现 ibatis低级问题 过多的new要怎么避免?
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对象。
数据源指的是连接数据库的方式
将以下代码放置到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不能定义的连接属性 如最大等待时间 空间时间 ,每次连接的最大访问人数等。
它的出现时为了终止现在hibernate,toplink等持久化产品各自为盈的局面。这样我们就可以再
不更新代码的情况下对持久层进行更换,比如现在是hibernate,更换成toplink而不用修改代码,
修改下配置就可以了
我个人感觉JNDI和JDBC的最大的区别是JNDI有连接池,JDBC则没有
http://www.ibm.com/developerworks/cn/java/j-jndi/