Spring 雇员管理系统SSH 1
准备工作
引入Spring包,编写applicationContext.xml文件,该文件放在src目录下
进行测试,保证Spring正常工作
新建测试类Test.java以及TestService.java
TestService.java中
public class TestService{
String name;
(set,get方法)
}
applicationContext文件中配置对象
<bean id="testService" class="com.hsp.test.TestService(类所在路径,包含包路径,不要后面的java)">
<property name="name" value="tong"/>
</bean>
然后在Test.java的主函数中测试
首先获得applicationContext对象
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
然后getbean方法获得TestService对象
ac.getBean("testService");(强转为TestService对象)
ssh中,hibernate核心被Spring接管,所以配置有所不同
hibernate.cfg.xml文件对象映射文件以及sessionFactory在Spring的文件中配置即可
具体步骤
引入hibernate包
配置数据源,因为Spring提倡对数据源进行开发
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!-- 这部分与hibernate配置相同-->
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orclhsp"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="3"/>
<!-- 连接池的最大值 -->
<property name="maxActive" value="500"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>
为什么要用数据源这种机制
减少频繁的与数据库建立Connection和断开,数据源一开始就建立3个连接,相当于一个连接池,缓冲池,如果需要连接,直接从连接池中取,超过3个之后再与数据库建立连接
如果超过最大数,则等待
配置sessionFactory
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!--设置数据源-->
<property name="dataSource" ref="dataSource"/>
<!--接管了hibernate对象映射文件-->
<property name="mappingResources">
<list>
<value>com/hsp/domain/Employee.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=false
</value>
</property>
</bean>
建立domain包,编写Employee.java对象文件,以及Employee.hbm.xml文件
<hibernate-mapping package="com.hsp.domain">
<class name="Employee" table="employee">
<!--主键策略-->
<id name="id" type="java.lang.Integer">
<generator class="native"/>
</id>
<property name="email" type="java.lang.String">
<column name="email" length="64"/>
</property>
进行测试
在Test.java的main函数中编写
//获得sessionfactory
SessionFactory sf=ac.getBean("sessionFactory");
//获得连接
Session s=sf.openSession();
Employee employee=new Employee("aa"--属性依次填入);
//进行事务提交
Transaction tx=s.beginTransaction();
s.save(employee);
tx.commit();
注意
需要引入一些数据库驱动包
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。