基于maven管理的SSH框架搭建

原创 2016年05月31日 16:29:00

上周六是罗列了搭建SSM(spring-struts-mabatis)框架,因为我们公司用的就是基于这3种框架上封装的DPAP框架。今天的侧重点就是将mybatis框架换成hibernate框架是如何集成进去的。
1、创建maven工程
2、配置hibernate需要的jar包,struts和spring的我就不讲了。
3、配置spring.xml文件.编写测试类。
第一步参考上一篇,直接讲第二步了:

<!-- 使用Hibernate需要的jar -->
        <dependency>
            <groupId>hibernate</groupId>
            <artifactId>hibernate3</artifactId>
            <version>3.1.2</version>
        </dependency>

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

        <dependency>
            <groupId>odmg</groupId>
            <artifactId>odmg</artifactId>
            <version>3.0</version>
        </dependency>

        <dependency>
            <groupId>net.java.dev.spring-annotation</groupId>
            <artifactId>spring-annotation</artifactId>
            <version>1.0.2</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>1.3.0</version>
        </dependency>

       <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>1.5.3</version>
        </dependency>
        <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>com.springsource.org.dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>com.springsource.javax.transaction</artifactId>
            <version>1.1.0</version>
        </dependency>


        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>com.springsource.org.apache.commons.collections</artifactId>
            <version>2.1.1</version>
        </dependency>

缺少哪些jar包在你获取sessionFactory的时候会提示你。但是必不可少的jar包有以下这些:

  1. cglib-x.jar、asm-attrs.jar、asm.jar:CGLIB库,Hibernate用它来实现PO字节码的动态生成,是非常核心的库,也是必须使用的jar包;
  2. dom4j-x.jar:dom4j是一个Java的 XML
    API,类似于jdom,用来读写XML文件的。Hibernate用它来读写配置文件;
  3. commons-collections-x.jar:Apache
    Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大;
  4. commons-logging-x.jar、log4j-x.jar:包含了日志功能;

好了,配置完pom.xml文件,首先,还是在根目录下创建spring.xml,需要定义dataSouce 和sessionFactory。

 <!-- 测试spring与hibernate的整合 ,定义dataSource -->
    <bean id="datasource" class="org.apache.commons.dbcp.BasicDataSource" >  
     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url"  value="jdbc:oracle:thin:@ip地址:数据库名" />
        <property name="username" value="XXXXXX" />
        <property name="password" value="XXXXXX" />
    </bean>  
       <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
        <property name="dataSource" ref="datasource" />  
        <property name="hibernateProperties">  
            <props>  
                <!-- 设置Hibernate方言 -->  
                <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>  

                 <prop key="hibernate.show_sql">true</prop>  

                <prop key="hibernate.format_sql">true</prop>  
                <!-- 是否自动更新表 -->  
                <prop key="hibernate.hbm2ddl.auto">update</prop>  
            </props>  
        </property>  
     <property name="mappingResources">
             <list><value>hibernate/Cjj.hbm.xml</value></list>
     </property> 
    </bean>  

其中mappingResources是用来加载你的hbm.xml文件的。好比如我定义了一个CJJ实体,并且对于了数据库的cjj_test表,那么在Cjj.hbm.xml中,我需要对应好这个关系。

<hibernate-mapping>  

 <class name="com.deppon.cjj.ssh.domain.Cjj" table="cjj_test"  >

    <id name="name" column="NAME" type="string">
       <generator class="assigned" />
    </id>
   <property name="age" column="age"/> 
   <property name="name" column="name" />  
   <property name="sex" column="sex"/>  

  </class> 
</hibernate-mapping>

这里的ID配置是比较有讲究的,我就不细讲了,如果你的表里没有主键的话,仍然要配置id ,否则就会报错,没有的话就像我这样配置吧。
最后,编写测试类:

    @Test
    public void testHibernate(){
    //加载spring.xml文件,因为是测试类,所以即便此时没有配置web.xml也没关系,web.xml是需要你的工程启起来的时候加载的。
        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
   //读取sessionFactory这个bean ,强转成org.hibernate.SessionFactory
        SessionFactory factory =    (SessionFactory) context.getBean("sessionFactory");
        System.out.println(factory);
    //定义与数据库打交道的会话对象
        Session session=factory.openSession();
        System.out.println(session.isConnected());
    //向数据库里做查询操作    ,结果集放在Query里
         Query q = session.createSQLQuery("select * from cjj_test").addEntity(Cjj.class);

         List<Cjj> list=q.list();
         for(Cjj s:list){
             System.out.println(s.getName()+","+s.getAge()+","+s.getSex());
         }
         session.close(); 

    }

主要是创建sessionFactory能否成功,关联了很多jar包找不到的时候就要去搜一下是缺少了什么。我自己上面写的这版测试是成功的。
这里写图片描述
就酱吧。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

maven搭建ssh项目

1.首先创建一个maven项目,因为我不习惯webapp目录,所以修改了该目录由WebContent代替。 2.配置pom.xml <project xmlns="http://maven.apach...

一步一步教你在eclipse下使用maven搭建模块化的SSH框架

一,下载安装maven http://maven.apache.org/download.cgi 解压后。将maven所在目录配置到MAVEN_HOME中,并将%MAVEN_HOME%\b...

一步步教你使用maven搭建ssh框架

一,下载安装maven http://maven.apache.org/download.cgi 解压后。将maven所在目录配置到MAVEN_HOME中,并将%MAVEN_HOME%\b...
  • kite30
  • kite30
  • 2015-10-24 10:27
  • 7111

基于maven的ssh框架搭建

转自:http://my.oschina.net/fengshuzi/blog/291421?fromerr=XTPN9sXt 目录[-] 一、新建maven项目,配置ssh框架pom的...

用maven配置ssh框架

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。   groupId一般分为多...

Maven搭建SSH的pom的代码详解

因项目需要第一次是用Maven搭建项目,在网上找了许久pom配置总是会出现一些包不兼容等小问题,经过多次改动版本测试,以下pom勉强能使用,但是hibernate配置实体类仍有问题。但因项目进度问题所...

Eclipse + Maven 搭建 SSH 环境

在Eclipse 上使用Maven构建SSH开发环境

maven整合SSH(一)--struts2篇

一直以来都想写点什么东西记录一下自己日常学习的点滴,但是苦于没有时间,所以一直一拖再拖。正好今天周末在家闲的无聊,最近也刚开始研究maven,就记录一下自己学习的过程吧。ps:这是自己的第一个微博,如...

maven ssh最新版本整合

周末在家无聊做学了一下maven搭建项目,整合ssh,之间遇到各种诡异的错误,查了一天。之间太多的错了忘了做记录了,现在都找不到了,把最关键的一点记录下来吧。给那些整合过程中遇到各种诡异错误的人看一下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)