首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate Jndi Tomcat错误: BasicDataSource不支持

这个错误通常发生在使用Hibernate框架时,尝试在Tomcat服务器上配置JNDI数据源时。错误信息表明BasicDataSource不支持JNDI。

解决这个问题的方法是使用Tomcat支持的JNDI数据源,例如Tomcat提供的DataSource实现。以下是解决方法的步骤:

  1. 在Tomcat的配置文件(如context.xml)中配置JNDI数据源。例如:
代码语言:txt
复制
<Resource name="jdbc/myDataSource" auth="Container" type="javax.sql.DataSource"
           maxTotal="100" maxIdle="30" maxWaitMillis="10000"
           username="your_username" password="your_password"
           driverClassName="com.mysql.jdbc.Driver"
           url="jdbc:mysql://localhost:3306/mydatabase"/>
  1. 在Hibernate的配置文件(如hibernate.cfg.xml)中使用JNDI数据源。例如:
代码语言:txt
复制
<property name="hibernate.connection.datasource">java:comp/env/jdbc/myDataSource</property>

这样配置后,Hibernate将使用Tomcat提供的JNDI数据源进行数据库连接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring实战6-利用Spring和JDBC访问数据库主要内容

SQLException的意思是在尝试访问数据库过程中发生了某些错误,但是并没有提供足够的信息告诉开发人员具体的错误原因以及如何修正错误。...即使这样,Hibernate的异常也只对Hibernate框架有用,如果你使用Hibernate自己的异常体系,就可能使程序的剩余部分强依赖于Hibernate,将来如果想升级为其他的持久化框架会非常麻烦...10.2.1 使用JNDI数据源 Spring应用一般部署在某个J2EE容器中,例如WebSphere、JBoss或者Tomcat。...首先,需要在tomcat中配置数据源,方法参见stackoverflowHow to use JNDI DataSource provided by Tomcat in Spring?...Spring应用根据jndi-name从Tomcat容器中查找数据源;如果应用是运行Java应用服务器中,则需要设置resource-ref为true,这样在查询的时候会在jndi-name指定的名字前面加上

80710

开源数据库连接池的使用

然后新建测试类DBCPTest,编写测试代码 @Test public void demo1(){ //首先使用BasicDataSource创建连接池 BasicDataSource basicDataSource...此时我们将可以使用JNDI技术去访问数据库连接池。...包, 这套API的主要作用在于:它可以把Java对象放在一个容器中(支持JNDI容器 Tomcat),并为容器中的java对象取一个名称,以后程序想获得Java对象,只需通过名称检索即可。...Java程序要想通过JNDI访问对象,就必须运行在同一个JNDI容器中。也就是说,该Java程序必须运行在Tomcat内部,所以使用JNDI的程序一般是Servlet或JSP。 演示一下。...在项目中新建一个Servlet文件为TomcatServlet /** * 在该程序中,通过JNDI访问Tomcat内部的连接池 * @author Administrator * */ public

1.4K30
  • 数据库连接池、dbutil_知识点全掌握

    Hibernate3.0之后不再对DBCP提供支持!因为Hibernate声明DBCP有致命的缺欠!DBCP因为Hibernate的这一毁谤很是生气,并且说自己没有缺欠。...配置连接池 1 Tomcat配置JNDI资源 JNDI(Java Naming and Directory Interface),Java命名和目录接口。...下图是Tomcat文档提供的: 配置JNDI资源需要到元素中配置子元素: name:指定资源的名称,这个名称可以随便给,在获取资源时需要这个名称; factory:... <Resource name="mydbcp" type="org.apache.<em>tomcat</em>.dbcp.dbcp.<em>BasicDataSource</em>" factory="org.apache.naming.factory.BeanFactory...只要你启动了<em>Tomcat</em>,那么就可以在项目中任何类中通过<em>JNDI</em>获取资源的方式来获取资源了。 下图是<em>Tomcat</em>文档提供的,与上面<em>Tomcat</em>文档提供的配置资源是对应的。

    80050

    JavaWeb14-事务,连接池(Java正在的全栈开发)

    setAutoCommit(boolean flag); 参数为false相当于start transaction commit(); 事务提交 rollback(); 事务回滚 回滚(Rollback)指的是程序或数据处理错误...该数据库连接池既可以与应用服务器整合使用,也可由应用程序独立使用. dbcp连接池配置(代码) // 1.创建连接池对象 BasicDataSource ds = new BasicDataSource...目前使用它的开源项目有Hibernate,Spring等。...在tomcat中提供了一个context.xml文件,我们可以将连接池配置在这个文件中,详细信息大家可以查看tomcat帮助文档 context.xml文件可以放置在三个位置: 1.tomcat/conf...JNDI介绍 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API

    86240

    javascript: 带分组数据的Table表头排序

    本机开发时为了方便,很多开发人员喜欢直接用JDBC直接连接数据库,这样修改起来方便; 1 <bean id="dataSource" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...未免太原始,可以通过maven的profile来解决 先把配置文件改成  1 <bean id="${db-source-jdbc}" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...mvn clean package -P local打包本地开发环境时,将生成 1 而打包生产环境 mvn clean package -P pro时,生成 1 <bean id="NONE" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...而其它webserver上却未必有这个机制,一般为了方便,我们开发时,往往采用一些轻量级的webserver,比如:<em>tomcat</em>,jetty,jboss 之类,正式部署时才发布到weblogic下,这样带来的问题就是

    1.4K100

    Spring JDBCTemplate使用JNDI数据源

    本机开发时为了方便,很多开发人员喜欢直接用JDBC直接连接数据库,这样修改起来方便; 1 <bean id="dataSource" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...未免太原始,可以通过maven的profile来解决 先把配置文件改成  1 <bean id="${db-source-jdbc}" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...mvn clean package -P local打包本地开发环境时,将生成 1 而打包生产环境 mvn clean package -P pro时,生成 1 <bean id="NONE" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...而其它webserver上却未必有这个机制,一般为了方便,我们开发时,往往采用一些轻量级的webserver,比如:<em>tomcat</em>,jetty,jboss 之类,正式部署时才发布到weblogic下,这样带来的问题就是

    1.2K100

    maven学习(下)利用Profile构建不同环境的部署包

    本机开发时为了方便,很多开发人员喜欢直接用JDBC直接连接数据库,这样修改起来方便; 1 <bean id="dataSource" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...未免太原始,可以通过maven的profile来解决 先把配置文件改成  1 <bean id="${db-source-jdbc}" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...mvn clean package -P local打包本地开发环境时,将生成 1 而打包生产环境 mvn clean package -P pro时,生成 1 <bean id="NONE" class="org.apache.commons.dbcp.<em>BasicDataSource</em>...而其它webserver上却未必有这个机制,一般为了方便,我们开发时,往往采用一些轻量级的webserver,比如:<em>tomcat</em>,jetty,jboss 之类,正式部署时才发布到weblogic下,这样带来的问题就是

    85380

    Spring Boot 默认数据源 HikariDataSource 与 JdbcTemplate 初遇

    如果驱动程序不符合JDBC4的要求,HikariCP将记录一个错误以告知您,默认值:无 3、关于上面的数据源公共配置的内容,都可以从 Spring Boot 官方文档 查看: # DATASOURCE...= # JNDI location of the datasource....com.zaxxer.hikari.HikariDataSource),然后拿到l了数据库连接(java.sql.Connection),自然就可以使用连接和原生的 JDCB 语句来操作数据库 2、即使不使用第三方第数据库操作框架,如 MyBatis、Hibernate...Controller public class PhoneController { /** * JdbcTemplate 是 core 包的核心类,用于简化 JDBC 操作,还能避免一些常见的错误...3、org.apache.commons.dbcp2.BasicDataSource 4、可以使用 spring.datasource.type 指定自定义的数据源类型,值为 要使用的连接池实现的完全限定名

    1.6K40
    领券