小学期第二次作业

这几天,我们做出了客户信息主界面以及客户信息存储、查询、修改、删除功能。

首先,建立一个applicationContext:

<?xml version="1.0" encoding="UTF-8"?>

<beans

xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>

<property name="url" value="jdbc:mysql://localhost:3306/dbssh"></property>

<property name="username" value="root"></property>

<property name="password" value="123456"></property>

<property name="maxActive" value="100"></property>

<property name="maxWait" value="500"></property>

<property name="defaultAutoCommit" value="true"></property>

</bean>

<bean id="sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

<property name="dataSource" ref="dataSource"></property>

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</prop>

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

</props>

</property>

<property name="mappingResources">

<list>

<value>com/crm/bean/Cust.hbm.xml</value>

</list>

</property>

</bean>

<bean id="custDao" class="com.crm.impl.CustDaoImpl">

<property name="sessionFactory">

<ref bean="sessionFactory"/>

</property>

</bean>

<bean id="custService" class="com.crm.service.impl.CustServiceImpl">

<property name="custDao" ref="custDao"></property>

</bean>

<!-- 配置action -->

<bean id="custSaveAction" class="com.crm.action.CustSaveAction">

<property name="service">

<ref bean="custService"/>

</property>

</bean>

<bean id="listCustAction" class="com.crm.action.ListCustAction">

<property name="service">

<ref bean="custService"/>

</property>

</bean>

<bean id="findCustByCdAction" class="com.crm.action.FindCustByCdAction">

<property name="findCdService">

<ref bean="custService"/>

</property>

</bean>

<!--配置-删除deleteAction  -->

<bean id="removeCustAction" class="com.crm.action.RemoveCustAction">

<property name="service">

<ref bean="custService"/>

</property>

</bean>

</beans>

其次,在src目录下建立action、bean、dao、impl、service等类,其作用是对客户信息的录入、查询、修改、删除等操作,为此,我们要先建立一个与之对应的数据库。

接下来,在action中建立与之对应的各项操作:

package com.crm.action;

import com.crm.bean.Cust;

import com.crm.service.CustService;

import com.opensymphony.xwork2.ActionSupport;

public class CustSaveAction  extends ActionSupport{

private CustService service;

private Cust cust;

public Cust getCust() {

return cust;

}

public void setCust(Cust cust) {

this.cust = cust;

}

public CustService getService() {

return service;

}

public void setService(CustService service) {

this.service = service;

}

@Override

public String execute() throws Exception {

// TODO Auto-generated method stub

this.service.saveCustomer(cust);

return SUCCESS;

}

}

package com.crm.action;

import java.util.Map;

import com.crm.bean.Cust;

import com.crm.service.CustService;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FindCustByCdAction extends ActionSupport{

private Cust cust;

private CustService findCdService;

public Cust getCust() {

return cust;

}

public void setCust(Cust cust) {

this.cust = cust;

}

public CustService getFindCdService() {

return findCdService;

}

public void setFindCdService(CustService findCdService) {

this.findCdService = findCdService;

}

@SuppressWarnings({ "unchecked", "unchecked" })

@Override

public String execute() throws Exception {

// TODO Auto-generated method stub

Map map=(Map)ActionContext.getContext().get("request");

map.put("list",this.findCdService.findCustByCondition(cust));

return SUCCESS;

}

}

package com.crm.action;

import java.util.Map;

import com.crm.bean.Cust;

import com.crm.service.CustService;

import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class ListCustAction extends ActionSupport {

private Cust cust;

private CustService service;

public void setService(CustService service)

{

this.service=service;

}

@Override

public String execute() throws Exception {

// TODO Auto-generated method stub

Map map=(Map)ActionContext.getContext().get("request");

map.put("list", this.service.findAllCust());

return SUCCESS;

}

public Cust getCust() {

return cust;

}

public void setCust(Cust cust) {

this.cust = cust;

}

}

package com.crm.action;

import com.crm.bean.Cust;

import com.crm.service.CustService;

import com.opensymphony.xwork2.ActionSupport;

public class RemoveCustAction extends  ActionSupport{

private Cust cust;

private CustService service;

public void setService(CustService service) {

this.service = service;

}

public Cust getCust() {

return cust;

}

public void setCust(Cust cust) {

this.cust = cust;

}

@SuppressWarnings("unchecked")

@Override

public String execute() throws Exception {

this.service.removeCustomer(cust);

return SUCCESS;

}

}

接下来,要与之建立相应的映射关系:

package com.crm.impl;

import java.util.List;

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

import com.crm.bean.Cust;

import com.crm.dao.CustDao;

public class CustDaoImpl extends HibernateDaoSupport  implements CustDao {

public List<Cust> findAllCust() {

// TODO Auto-generated method stub

String hql="from Cust cust order by cust.id desc";

return (List<Cust>)this.getHibernateTemplate().find(hql);

}

public Cust findCustomerById(Integer id) {

// TODO Auto-generated method stub

Cust cust=(Cust)this.getHibernateTemplate().get(Cust.class,id);

return null;

}

public void removeCustomer(Cust cust) {

// TODO Auto-generated method stub

this.getHibernateTemplate().delete(cust);

}

public void saveCustomer(Cust cust) {

// TODO Auto-generated method stub

this.getHibernateTemplate().save(cust);

}

public List<Cust> findCustByCondition(Cust cust) {

// TODO Auto-generated method stub

StringBuffer strBuffer=new StringBuffer();

String hql="from Cust cust where 1=1 ";

strBuffer.append(hql);

if(cust==null){

throw new NullPointerException("查询条件不能为空");

}

if(!"".equals(cust.getCustname())){

String custname="and custname = ‘"+cust.getCustname()+"‘ ";

strBuffer.append(custname);

}

if(!"".equals(cust.getCustnumber())){

String custnumber="and custnumber = ‘"+cust.getCustnumber()+"‘ ";

strBuffer.append(custnumber);

}

if(!"".equals(cust.getCustphone())){

String custphone="and custphone = ‘"+cust.getCustphone()+"‘ ";

strBuffer.append(custphone);

}

String orderBy="order by cust.id desc";

strBuffer.append(orderBy);

List<Cust> custList=this.getHibernateTemplate().find(strBuffer.toString());

return custList;

}

}

成品如图所示:

时间: 2024-10-14 03:37:36

小学期第二次作业的相关文章

解题报告——2018级2016第二学期第二周作业

解题报告——2018级2016第二学期第二周作业 D:迷宫问题 题目描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. 输入 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. 输出 左上角到右

小学期-第二次

经过几天的熟悉,我对于使用myEclipse制作网页项目的流程逐渐熟悉起来,也终于能够自己解决一些调试过程中出现的问题了.随着项目的进展,我们遇到的问题逐渐显出了一点的技术含量--相比较初期大部分实际是由拼写.大小写而引起error,现在遇到更多的是实际运用过程中,如action的实现.网页切换出错等的问题. 在调试过程中,控制台出现过许多"严重"错误,网页上也抛出过许多不同的exception,从一开始的束手无策,到后来慢慢能够看懂一些错误信息了.还是熟能生巧吧. 例如,在配置&qu

小学期——第二篇

这三天我们依次制作了新增.查询.修改和删除四大功能. 新增:首先需要设想当我们点此按钮时,应新开一个窗口,以供我们填写新增信息.所以,我们首先要创建一个CustSaveAction类. 代码: 1 package com.crm.action; 2 3 import com.crm.bean.Cust; 4 import com.crm.service.CustService; 5 import com.opensymphony.xwork2.ActionSupport; 6 7 public

小学期第三次作

小学期的大作业做的是库存管理系统.在做之前,我们组员之间先进行了思路的整理:要做好一个库存管理系统,我们要有一个能满足尽量多条件的数据库,初步定为库存编号.货物名称.货物渠道.货物数量.进货时间.其次,一个吸引用户的界面也是非常重要的. 方向定好后,我们就进入了实战阶段.基于客户管理系统,我建立了一个如下图所示的工程: 接着,对库存数据的增删查改等操作进行了编码: package com.crm.action; import java.text.DateFormat; import java.t

第一周(小学期)

2个月之前就安装了JDK12和eclipse,安装的过程现在还记得还很清,下载删除了3,4次后来才弄好了,一直是eclipse不能用,后来改了一下eclipse.ini中的东西才搞好.JAVA的一些语法也是之前看过,但由于一直没用,所以都忘了,本周就是从B站上重新看了部分之前看过的视频,学了一点eclipse的快捷键和JAVA的基本语法,本周把小学期期间的作业完成了,为了学期任务从百度上学习了一上午的多线程,结果还是没搞出多线程的基本使用,可以用但是不会强行终止,还学习了一些时间函数window

解题报告——2018级2016第二学期第四周作业 (2的幂次方)

解题报告——2018级2016第二学期第四周作业 题目: 描述 任何一个正整数都可以用2的幂次方表示.例如:137=27+23+20. 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为:2(7)+2(3)+2(0) 进一步:7= 22+2+20   (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=210 +28 +25 +2+1 所以1315最后可表示为: 2(2(2+2(0))+

解题报告——2018级2016第二学期第一周作业

解题报告——2018级2016第二学期第一周作业 D 算24 题目描述 描述 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式.现在的问题是,是否存在一种方式使得得到的表达式的结果等于24. 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法). 比如,对于5,5,5,1,我们知道5 * (5 – 1 / 5) = 24,因此可以得到24.又比如,对于1,1,4,2,我们怎么都不能得到24. 输入 输入数据包括多

第二次小学期软工实践随笔

小学期后面两天的学习,我们进一步完善了我们的ssh框架,在Dao和Service包下我们声明好我们需要的操作方法: package com.crm.dao;import java.util.List;import com.crm.bean.Cust;public interface CustDao { /** * 保存客户信息 * @param cust */public void saveCustomer(Cust cust);/** * 删除客户信息 * @param cust */publ

西北师大-18软工】第二次作业成绩汇总

[西北师大-18软工]第二次作业成绩汇总 同学们在本学期第一次练习小项目,这个过程中一定遇到了许多困难,希望同学们认真反思得失.同时要认清编程能力薄弱的现实,抓紧时间补短板. 作业题目 实验二 软件工程个人项目 实验目的与要求 (1)掌握软件项目个人开发流程. (2)掌握Github上发布软件项目的操作方法 作业评分标准: 按时交 - 有分(满分30分,代码和博客各15分),检查项目包括: 未提交项目源码到Github上,代码部分不得分:未提交博客到班级博客上,博客部分不得分: 根据项目完成质量