基于maven管理的SSH框架搭建
来源:互联网 发布:java代码生成jar包 编辑:程序博客网 时间:2024/06/06 01:11
上周六是罗列了搭建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包有以下这些:
- cglib-x.jar、asm-attrs.jar、asm.jar:CGLIB库,Hibernate用它来实现PO字节码的动态生成,是非常核心的库,也是必须使用的jar包;
- dom4j-x.jar:dom4j是一个Java的 XML
API,类似于jdom,用来读写XML文件的。Hibernate用它来读写配置文件; - commons-collections-x.jar:Apache
Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大; - 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包找不到的时候就要去搜一下是缺少了什么。我自己上面写的这版测试是成功的。
就酱吧。
0 0
- 基于maven管理的SSH框架搭建
- 基于maven的ssh框架一步一步搭建
- 基于maven的ssh框架一步一步搭建
- 基于maven的ssh框架搭建
- 基于maven的ssh框架一步一步搭建
- 基于maven的ssh框架一步一步搭建
- 基于maven管理的SSM框架搭建
- 基于maven的ssh框架一步一步搭建(一)
- 基于maven的ssh框架一步一步搭建(二)
- 基于maven的ssh框架一步一步搭建(一)
- Maven搭建SSH框架
- Idea搭建整合SSH框架(Maven管理)
- 基于ssh框架的教务管理系统
- 基于maven搭建ssh项目
- maven+Intelij搭建SSH框架
- 使用maven搭建ssh框架,以及遇到的大小问题
- 搭建基于注解方式的SSH项目框架
- 搭建基于注解方式的SSH项目框架
- Shell注释
- java jdbc连接数据库(使用mysql进行连接)
- [树形dp][入门]hdu1520 & poj2342 Anniversary party
- Android studio如何使用SVN进行版本控制
- iOS常用技术 - 本地搭建IPv6测试环境
- 基于maven管理的SSH框架搭建
- Middle-题目57:90. Subsets II
- 浏览器工具
- 《CSS权威指南》学习记录——文本属性
- 以两军问题为背景来演绎Basic Paxos
- 一个div 内嵌套多个div ,并使其全部居中
- 基于VM10+Win7安装Mac OSX10.11 El Capitan
- 第13周项目3—形状类族中的纯虚函数
- linux高级原4