动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

SSH框架实现增删改查的实例

06-10 17:22 481浏览
举报 T字号
  • 大字
  • 中字
  • 小字

许多朋友在学习完了搭建SSH框架之后,就想在SSH框架中添加一个简单的增删改查功能,以此来证明自己,不仅学会了SSH框架,也会用SSH框架实现功能了。接下来我们一起看一下SSH框架实现增删改查的实例

首先我们看一下jsp页面部分的代码:

index.jsp:

这个页面简单的写了两个超链接,分别用来展示dept表数据和增加dept表数据的。

save.jsp:

这个页面是用来填写部门和地址信息的,填写完了提交就行了。

list.jsp:

这个页面是用来显示编号、部门、地址、操作四列信息的,在操作中我们可以删除或者修改某一列的信息。

update.jsp:

这个页面是进行某一列的修改,修改的内容有部门、地址。

然后我们来看一下配置文件部分的代码。

applicationContext.xml:

这个配置文件是用来指定dao、service、action层的路径,以及配置文件hibernate.cfg.xml的路径。

hibernate.cfg.xml:

这个配置文件时用来添加数据库信息的。

struts.xml:

这个配置文件是后台与前端的jsp页面进行交互的相关内容,也有编码格式的设置。

web.xml

最后呢,就到了我们后台部分的代码了。

Dept类:

package com.entity;

import java.io.Serializable;

public class Dept implements Serializable {

//封装字段

private int deptno;

private String dname;

private String loc;

 

//无参构造函数

public Dept() {

// TODO Auto-generated constructor stub

}

//有参构造函数

public Dept(int deptno, String dname, String loc) {

super();

this.deptno = deptno;

this.dname = dname;

this.loc = loc;

}

//封装GET SET方法

public int getDeptno() {

return deptno;

}

public void setDeptno(int deptno) {

this.deptno = deptno;

}

public String getDname() {

return dname;

}

public void setDname(String dname) {

this.dname = dname;

}

public String getLoc() {

return loc;

}

public void setLoc(String loc) {

this.loc = loc;

}

}

我这里的包名是com.entity,这个类相当于实体类,定义了三个字段,以及三个字段的get()和set()方法的实现。

Dept.hbm.xml:

 

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

这是一个配置映射文件,写的是实体类中字段的相关内容。

IDeptDao:

package com.dao;

import java.util.List;

import com.entity.Dept;

public interface IDeptDao {

//查询

public List findAll();

//增加

public int save(Dept d);

//删除

public int delete(int id);

//修改

public int update(Dept d);

//根据ID查询

public Dept findById(int id);

 

}

这是一个配置接口文件,是用来写增删改查的接口的。

DeptDaoImpl类:

package com.dao.impl;

import java.util.List;

import org.hibernate.SessionFactory;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.dao.IDeptDao;

import com.entity.Dept;

public class DeptDaoImpl

extends HibernateDaoSupport

implements IDeptDao {

public int delete(int id) {

// TODO Auto-generated method stub

try {

//获取对象的id

Dept d=this.getHibernateTemplate().get(Dept.class,id);

//执行删除方法  删除id

this.getHibernateTemplate().delete(d);

//删除成功  return 1;

return 1;

} catch (Exception e) {

// TODO: handle exception

System.out.println(e.getMessage());

System.out.println(e.getStackTrace());

}

return 0;

}

public List findAll() {

// TODO Auto-generated method stub

//查询获取全部的数据

List list=(List) this.getHibernateTemplate().find("from Dept");

return list;

}

public Dept findById(int id) {

// TODO Auto-generated method stub

//查询出对象的id

Dept dd=this.getHibernateTemplate().get(Dept.class, id);

return dd;

}

public int save(Dept d) {

// TODO Auto-generated method stub

try {

//调用我们定义的接口  增加数据

this.getHibernateTemplate().save(d);

return 1;

} catch (Exception e) {

// TODO: handle exception

System.out.println(e.getMessage());

System.out.println(e.getStackTrace());

}

return 0;

}

public int update(Dept d) {

// TODO Auto-generated method stub

try {

//调用我们定义的接口  增加数据

this.getHibernateTemplate().update(d);

return 1;

} catch (Exception e) {

// TODO: handle exception

System.out.println(e.getMessage());

System.out.println(e.getStackTrace());

}

return 0;

}

}

这个类是用来实现IDeptDao接口中的方法的。

IDeptService:

import java.util.List;

import com.entity.Dept;

public interface IDeptService {

//跟我们的dao层一样

public List findAll();

public boolean save(Dept d);

public boolean delete(int id);

public boolean update(Dept d);

public Dept findById(int id);

}

这是业务逻辑层的接口,跟DAO层中的内容差不多。

DeptServiceImpl:

package com.service.impl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.dao.IDeptDao;

import com.dao.impl.DeptDaoImpl;

import com.entity.Dept;

import com.service.IDeptService;

public class DeptServiceImpl extends HibernateDaoSupport implements IDeptService{

// 调用我们实现类的接口  定义成私有字段进行封装

private IDeptDao idd;

//查询

public List findAll() {

// TODO Auto-generated method stub

return this.idd.findAll();

}

//增加

public boolean save(Dept d) {

// TODO Auto-generated method stub

int aa=this.idd.save(d);

if(aa==0){

return true;

}else{

return false;

}

}

//删除

public boolean delete(int id) {

// TODO Auto-generated method stub

int aa=this.idd.delete(id);

if(aa==0){

return true;

}else{

return false;

}

}

//修改

public boolean update(Dept d) {

// TODO Auto-generated method stub

int aa=this.idd.update(d);

if(aa==0){

return true;

}else{

return false;

}

}

//根据ID查询

public Dept findById(int id) {

// TODO Auto-generated method stub

return this.idd.findById(id);

}

//封装的GET  SET方法

public IDeptDao getIdd() {

return idd;

}

public void setIdd(IDeptDao idd) {

this.idd = idd;

}

}

这个类是用来实现IDeptService接口中的方法。

DeptAction:

package com.action;

import java.util.List;

import com.dao.IDeptDao;

import com.entity.Dept;

import com.service.IDeptService;

import com.opensymphony.xwork2.ActionSupport;

public class DeptAction extends ActionSupport {

//定义出来我们的对象名  id  以及泛型集合

private IDeptService ids;

private List list;

private Dept dept;

private int id;

//查询

public String show(){

list=ids.findAll();

return "zhanshi";

}

//删除

public String delete(){

ids.delete(id);

return "find";

}

//预修改

public String prepup(){

dept=ids.findById(id);

return "prepup";

}

//增加

public String save(){

ids.save(dept);

return "find";

}

//修改

public String update(){

ids.update(dept);

return "find";

}

public IDeptService getIds() {

return ids;

}

public void setIds(IDeptService ids) {

this.ids = ids;

}

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public Dept getDept() {

return dept;

}

public void setDept(Dept dept) {

this.dept = dept;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

}

这是Action层的代码,也是我们java开发中的核心代码。

0人推荐
共同学习,写下你的评论
0条评论
蛙课资讯
官方自媒体蛙课资讯

172篇文章贡献491043字

作者相关文章更多>

推荐相关文章更多>

蛙课网手机站正确的打开姿势~!

蛙课资讯07-11 17:20

【福利】来蛙课网,免费学Java全栈技术--已经结束

蛙课资讯09-04 15:27

Java面试前的突击要准备些什么

蛙课资讯06-12 17:09

Java开发招聘为什么有年龄的要求

蛙课资讯06-17 17:37

检测自己是否达到了java入门水平

蛙课资讯06-12 17:07

发评论

举报

0/150

取消