我需要什么maven工件来进行spring hibernate和mysql支持?

时间:2010-07-17 02:12:56

标签: java hibernate spring maven-2

我有一个使用maven 2的IDEA项目。

我想使用hibernate + mysql,我需要哪些依赖项?

2 个答案:

答案 0 :(得分:2)

首先,我将版本与工件分开:

<properties>
    <spring.version>3.0.3.RELEASE</spring.version>
    <hibernate.version>3.5.3-Final</hibernate.version>
    <mysql.version>5.1.13</mysql.version>
    <junit.version>4.7</junit.version>
</properties>

然后我像这样引用它们:

<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
        <!-- perhaps using scope = provided, as this will often
         be present on the app server -->
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <!-- or hibernate-entitymanager if you use jpa -->
        <version>${hibernate.version}</version>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>

</dependencies>

通过这种方式,您可以将版本保存在一个位置,并且可以轻松更新它们,尤其是在您参考例如多个弹簧文物。

BTW:这些应该是当前版本,但您始终可以使用MvnRepository.com

查找当前版本

答案 1 :(得分:1)

pom.xml之后将这些依赖项粘贴到<depdendencies>应该有效:

<!-- MySQL database driver -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
</dependency>

<!-- Hibernate framework -->
<dependency>
    <groupId>hibernate</groupId>
    <artifactId>hibernate3</artifactId>
    <version>3.2.3.GA</version>
</dependency>


<!-- Hibernate library dependecy start -->
<dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.1</version>
</dependency>

<dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2</version>
</dependency>

<dependency>
    <groupId>javax.transaction</groupId>
    <artifactId>jta</artifactId>
    <version>1.1</version>
</dependency>
<!-- Hibernate library dependecy end -->

http://www.mkyong.com/hibernate/quick-start-maven-hibernate-mysql-example/无耻地克隆(根据评论者的建议添加jta)

您可能想要调整依赖项上的版本号。

IntelliJ IDEA 9可以根据类名找到Maven依赖项。如果您开始使用当前依赖项中不可用的类,则可以使用Alt-Enter获取IntelliJ以帮助查找它。

我在使用基于Java的Subversion钩子实现时使用了这个效果。我能够以这种方式轻松地将SVNKit和Google Guice依赖项纳入我的项目中。

在你的情况下,MySQL可能比较棘手,因为它在使用Hibernate时更像是运行时依赖。