java web第一次项目作业:客户信息管理系统

第一次java web项目作业实现客户信息管理系统

开发环境:1:MYSQL 5.4
2:myeclipse 10.1
3:apache-tomcat-7.0.91-windows-x64
实现的功能如下:
1)功能分析
通过了解用户的需求,得出以下的系统功能。
(1)添加客户信息功能。
将用户录入的客户信息保存起来,其中包括客户姓名、客户类型、供求产品以及建立客户
关系时间。
(2)查询客户信息功能。
在查询客户信息功能中包括按客户姓名、客户类型、供求产品以及建立客户时间段组合查
询,查询结果以列表形式显示,并实现分页功能。
(3)修改客户信息功能。
对指定的客户信息进行修改。
(4)删除客户信息功能。
对指定的客户信息进行删除,删除客户信息前要进行删除信息确认。
(5)登录与注册功能。
一:第一步,先建立所需的数据库
客户信息数据库
外加用户数据库
用户数据库

二:测试MySQL与myeclipse的连接
视图切换到 Database
参考

这里是引用https://blog.csdn.net/zhao121181086/article/details/104377186

三:创建所需的jsp页面
在这里插入图片描述
四:创建所需要的的类
(1)数据库连接
在这里插入图片描述
(2)数据类在这里插入图片描述
(3)Servlet类
在这里插入图片描述
五:功能分析
最基本的增删改查功能自不必多说,最主要的是查询的时候是组合查询,需要在数据库操作进行特殊处理,思路是利用if语句判断,str.append()函数修改sql语句。
再一个难点就是分页查询,利用servlet进行控制,结合sql语句中的limt属性就能实现分页

Servlet部分代码

        int start=0;
		int count=5;
		 try {
	            start = Integer.parseInt(request.getParameter("start"));
	        } catch (NumberFormatException e) {
	            // 当浏览器没有传参数start时
	        }
	 
	        int next = start + count;
	        int pre = start - count;
	 
	        int total = connection.getTotal();//得到数据从条数
	 
	        int last;// 假设总数是50,是能够被5整除的,那么最后一页的开始就是45
	        if (0 == total % count)
	            last = total - count;
	     // 假设总数是51,不能够被5整除的,那么最后一页的开始就是50
	        else
	            last = total - total % count;
	 
	        pre = pre < 0 ? 0 : pre;
	        next = next > last ? last : next;
	 
	        request.setAttribute("next", next);
	        request.setAttribute("pre", pre);
	        request.setAttribute("last", last);

数据库操作部分代码

//按条件查询信息,并实现分页查询
		public static ArrayList<Info> getinfo(String cname,String leixing,String chanpin,String ctime,int start,int count){
			ArrayList<Info> ul=new ArrayList<Info>();
			
			StringBuilder sql=new StringBuilder("select * from tb_customer where 1=1");
			if(!cname.equals(""))
				sql.append(" and customer_Name='"+cname+"'");
			if(!leixing.equals(""))
				sql.append(" and customer_Type='"+leixing+"'");
			if(!chanpin.equals(""))
				sql.append(" and customer_Info='"+chanpin+"'");
			if(!ctime.equals(""))
				sql.append(" and customer_Date='"+ctime+"'");
			open();
			try {
				sql.append(" limit ?,?");
				System.out.print(sql.toString());
				PreparedStatement ps =(PreparedStatement) con.prepareStatement(sql.toString());
	            ps.setInt(1, start);
	            ps.setInt(2, count);
	            rs = ps.executeQuery();
				while(rs.next()){
					Info c_info=new Info();
					c_info.setCid(rs.getInt(1));
					c_info.setCname(rs.getString(2));
					c_info.setLeixing(rs.getString(3));
					c_info.setChanpin(rs.getString(4));
					c_info.setCtime(rs.getString(5));
					c_info.setCtel(rs.getString(6));
					c_info.setCmobile(rs.getString(7));
					ul.add(c_info);
				}
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				System.out.print("查询出错!!");
			}
			
			close();
			return ul;
			
		}

六:部署运行。

总结:一个很简单的实例,仅仅就是为了实现增删改查,但是在实现的过程中也是遇到了不少的问题,值得一提的是在没有利用过滤器的情况下,如果前段传来的是中文,那么就要利用下面的语句将中文转码。

String cname=new String(request.getParameter("cname").getBytes("ISO-8859-1"),"utf-8");

有问题评论区交流U•ェ•*U

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值