首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

SSH调整(三)

2012-08-30 
SSH整合(三)前面已经配置好了spring配置文件,现在需要通过实例来验证spring和hibernate的整合是否成功。?1.

SSH整合(三)

前面已经配置好了spring配置文件,现在需要通过实例来验证spring和hibernate的整合是否成功。

?

1.? 实现将用户信息保存至数据库

?

???? 首先需要建立用户信息的实体类,并采用注解的方式实现与数据库的映射关系,代码如下:

?

????

package com.gyjx19e.om.bean;

?

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.Table;

?

import org.hibernate.annotations.GenericGenerator;

?

@Entity

@Table(name="USER_INFO")

public class Login {

???? private String id;

???? private String name;

???? private String password;

???? private String description;

???? private String groupId;

???? private String createDate;

???? private String delFlg;

????

???? public Login(){

????

???? }

???? public Login(String name,String password,String description,String createDate,String delFlg){

???? this.name = name;

???? this.password = password;

???? this.description = description;

???? this.createDate = createDate;

???? this.delFlg = delFlg;

???? }

????

???

??? @Id

??? @Column(name="ID",length=50)

??? @GeneratedValue(generator="idGenerator")

??? @GenericGenerator(name="idGenerator",strategy="uuid")

??? public String getId() {

?????? return id;

??? }

??? public void setId(String id) {

?????? this.id = id;

??? }

???

??? @Column(name="NAME",unique=true,nullable=false,length=30)

??? public String getName() {

?????? return name;

??? }

??? public void setName(String name) {

?????? this.name = name;

??? }

???

??? @Column(name="PASSWORD",nullable=false,length=30)

??? public String getPassword() {

?????? return password;

??? }

??? public void setPassword(String password) {

?????? this.password = password;

??? }

???

??? @Column(name="DESCRIPTION",length=100)

??? public String getDescription() {

?????? return description;

??? }

??? public void setDescription(String description) {

?????? this.description = description;

??? }

???

??? @Column(name="GROUP_ID",length=50)

??? public String getGroupId() {

?????? return groupId;

??? }

??? public void setGroupId(String groupId) {

?????? this.groupId = groupId;

??? }

???

??? @Column(name="CREATE_DATE",nullable=false)

??? public String getCreateDate() {

?????? return createDate;

??? }

??? public void setCreateDate(String createDate) {

?????? this.createDate = createDate;

??? }

???

??? @Column(name="DEL_FLG",nullable=false)

??? public String getDelFlg() {

?????? return delFlg;

??? }

??? public void setDelFlg(String delFlg) {

?????? this.delFlg = delFlg;

??? }

????

}

?

2. 需要建立业务逻辑层

?

?? 接口代码:

?

??

package com.gyjx19e.om.service;

?

import com.gyjx19e.om.bean.Login;

?

public interface LoginService {

??? public void save(Login login);

???

}

?

?? 实现类代码:

?

??

package com.gyjx19e.om.service.impl;

?

import javax.annotation.Resource;

?

import org.hibernate.SessionFactory;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

import com.gyjx19e.om.bean.Login;

import com.gyjx19e.om.service.LoginService;

?

@Service @Transactional

public class LoginServiceImpl implements LoginService{

???????? @Resource SessionFactory sessionFactory;?? //注解注入

???????? public void save(Login login) {

?????????????????? System.out.println("2222");

?????????????????? sessionFactory.getCurrentSession().persist(login);

???????? }

?

}

?

3. 需要对上述代码进行单元测试,来确定spring和hibernate的集成是否正确

?

?? 测试步骤如下:

?

?? a. 新建一个junit单元测试

?

????? 右键-new-Junit Test Case- New Junit4 Test

????? 点击click here 引入包

????? 包名为junit.test

????? 命名为LoginTest.java

?

?? b. 在LoginTest.java中加入

?????

?????? public class LoginTest{

????????????? private static LoginService loginservice;

????????????

????????????? @BeforeClass

????????????? public static void setUpBeforeClass() throws Exception{

??????????????????? try{

??????????????????????????? ApplicationContext act = new ClassPathXmlApplicationContext("beans.xml");

??????????????????????????? loginService = (LoginService)act.getBean("loginServiceImpl");

?????????????????????}catch(RuntimeException e){

?

??????????????????????????? e.printStackTrace();

????????????????????? }

?????????????? }

?

????????????? @Test

?????????????? public void save(){

????????????????????? loginService.save(new Login("w","w","w","w","w"));

??????????????? }

?

????????????? @Test

?????????????? public void list(){

??????????????????????loginService.list();

???????????????}

?

热点排行