本来觉得还差一点点,结果15个小时了还没有弄完,说好的不熬夜的呢???!!!
一个破超市的项目,废了我这么长时间,搞什么飞机啊?!!!
喝了6罐 ’乐虎‘ 了,这是我的常态吗?想做一个不熬夜的程序员,真的这么难吗?
每一个模块都是那么的墨迹,到处报错,我觉得吧,我不是前台弱,是前台和中间那块就是servlet比较弱,jQuery好一点了,el表达式ajax,json,好难过的。
java到数据库这边是我最熟练的,而且也比较好写,主要是分层开发嘛,从下往上写呗,sql现在也不是那么的难了。主要就是servlet,我的痛!!!
小豆腐年前就让我写的,本打算看完视频再写,可是年后回来,又搞了框架,一拖再拖,现在是该还旧账的时候了,没办法,自己欠下的。上周身体确实不适,感觉没有那么多精力,总是累,我觉得我保养的还行啊,就是睡眠少了点。
还差两个模块呢,sl会员商城还没写呢,娜女士都写的差不多了吧,好气人啊!!!
==========================系统功能============================登录 退出用户管理 修改密码 添加用户 修改用户 删除用户 查看用户供应商管理 添加供应商 修改供应商 删除供应商 查看供应商账单管理 添加账单 修改账单 删除账单 查看账单==========================数据库设计============================用户表: 主键ID 用户账号(用户编码) 用户密码 用户名 性别(1 男 2 女) 出生日期 用户电话 用户地址 用户类型(1 系统管理员 2 经理 3 普通员工) 创建时间 创建者(userId) 更新时间 更新者(userId) 供应商表: 主键ID 供应商编码 供应商名称 供应商描述 供应商联系人 联系电话 地址 传真 创建时间 创建者(userId) 更新时间 更新者(userId) 账单表: 主键ID 账单编码 商品名称 商品描述 商品单位 商品数量 总金额 供应商(providerID) 是否付款(1 未支付 2 已支付) 创建时间 创建者(userId) 更新时间 更新者(userId) decimal(20,2) 12.668 12.67 12.248 12.24 BigDecimal 12.248 12.24 12.66 ==========================系统框架搭建============================(java开发环境/运行时环境)bildpath 要高于或者等于 Compliler(编译时环境)修改字符集MVC:jspservletjdbcmysql事务:3张表 1 insert 2 update 3 detele------------------------src-------------------------pojo:数据实体(完成与数据库表的映射)dao:数据访问接口(与数据库操作)service:业务逻辑层(处理业务逻辑,调用dao接口)--- 事务控制是跟业务相关,只有复杂的业务才有事务控制servlet:控制层 (control)------------------------webroot-------------------------jsp:数据展示(view)js images css (静态资源文件)======单例======:运行期间有且仅有一个实例关键点:1、一个类只有一个实例---最基本的---(只提供私有的构造器)2、它必须自行创建这个实例---(定义了静态的该类的私有对象)3、它必须自行向整个系统提供这个实例 -----(提供一个静态的公有的方法,返回创建或者获取本身的静态私有对象)lazy loading 延迟加载 以时间换空间懒汉模式:(线程不安全--1、同步 2、双重校验锁)比较懒,在类加载的时候,不创建实例,运行调用的时候创建。类加载快,在运行时获取对象速度慢 以空间换时间饿汉模式:(线程安全)类加载的时候,就完成了初始化。所以类加载慢,但是在运行时获取对象静态内部类(保证了lazy loading的特性)方法的重载体现了面向对象多态的思想=================JDBC=================1、service (try catch)connection.setAutoCommit(false);dao.add()...update()...delete()connection.commit();connection.rollback();close(connection、null、null);2、dao(throws Exception)executeUpdate()......close(null、prepareStatement、resultSet)3、BaseDao(操作数据库的基类)静态类获取连接(connection)throws Exception查询操作(sql、params、connection、prepareStatement、resultSet)更新操作(sql、params、connection、prepareStatement)关闭资源(connection、prepareStatement、resultSet)====页面结构csshtmljs===登录、注销、查询=======用户管理----增加用户======修改,查看,删除修改,查看====根据ID 获取ID 获取user信息(getUserInfoById)保存修改信息dao service=====修改密码=====1、验证旧密码是否正确(输入的旧密码和当前用户的密码)--ajax2、保存新密码(数据库)--form====供应商管理=====dao================================//1 增加供应商boolean add(Connection connection, Provider provider)throws Exception//2 修改供应商boolean modify(Connection connection, Provider provider)throws Exception;//3 删除供应商boolean deleteProviderById(Connection connection, String delId)throws Exception;delete from smbms_provider where id=?扩展:如果根据供应商类型进行批量删除的话boolean deleteProviderByProType(Connection connection, String proType)throws Exception;delete from smbms_provider where proType=?//封装的删除方法deleteProvider (Connection connection, Provider provider)sql语句要进行拼接StringBuffer sql= new StringBuffer();sql.append("delete from smbms_provider");if(!StringUtils.isNULLorEmpty(provider.getId())){ sql.append(" where id=?");}else if(!StringUtils.isNULLorEmpty(provider.getProType())){ sql.append(" where proType=?");}如果并存的情况if(!StringUtils.isNULLorEmpty(provider.getId())){ sql.append(" where id=?");}if(!StringUtils.isNULLorEmpty(provider.getProType())){ sql.append(" where proType=?");}。。。。。。。userService.deleteProvider(Provider provider);//根据ID删除provider.setId("2")//根据供应商类别删除provider.setProType("3")//4 获取供应商列表ListgetProviderList(Connection connection,String proName)throws Exception;select * from smbms_provider where proName= like?List getProviderList(Connection connection,Provider provider)throws Exception;select * from smbms_provider where proName= like? and...and...原则:凡是需要用户输入的查询都是模糊查询,凡是需要用户选择的查询都是精确查询(传到后台的是id)//5 根据ID获取供应商详细信息Provider getProviderById(Connection connection, String id)throws Exception;====订单管理======//增加订单boolean add(Connection connection, Bill bill) throws Exception;//修改订单
一定要搞完!!!!