自写--SSM整合开发:办公系统核心模块(MK)

自写笔记

1,在dao层的sql语句的位置

关于xxMapper或者xxDao.xml文件
其实两种文件格式都行,写与类同名的dao.xml文件或直接写注解在接口上

1)写xxDao.xml文件写xxDao文件
2)在方法名字上面注解方式在方法名字上面注解方式

2,关于resultMap的使用

在查询所有信息返回的结果为集合类型,所以需要配置依次将每一个数据库的字段和实体类的属性名相对应

主键为id,result为单个属性,跟在方法上写注解是一样的



    <resultMap id="department" type="Department">
    <id property="sn" column="sn" javaType="String"/>
    <result property="name" column="name" javaType="String"/>
    <result property="address" column="address" javaType="String"/>
    </resultMap>
    
       <select id="select" parameterType="String" resultMap="department">
    select * from department where sn=#{sn}
    </select>

3,关于部署后启动在地址栏输入 地址url的问题

在idea 的Tomcat配置那个界面是可以设置的 ,因为一般你没有设置界面,
所以只显示localhost: 8081/user/find
所以你以为不要写项目的名字其实是在这里设置了

在这里插入图片描述
这样设置了后,才可以写相对应的项目名字或者你指定的url路径问题

4,关于在controller层参数是Map类型

在这里插入图片描述
里面讲解是这样的,to_add是为了去跳转打开添加的界面,add是添加的方法
在to_add加入map参数或者你加实体类Department department也行,是为了在jsp页面上使用
专门属于spring mvc的form 标签和专门的拦截器;
在to_add不使用spring mvc的form标签,参数就可以不用写了

在这里插入图片描述
两者只能其中一个,上面的那个就是使用了spring mvc的标签,modelAttribute对应的是map的key值,还要对于add方法的参数封装的对象名字(Department department)

跟原来的黑马视频相比,原来的是去添加的界面黑马是用jsp给替代了这个方法,两者都要掌握

5,关于查询关联其他表的信息

在实际操作中,一般不会只有单表的查询,比如在这个例子中,有个员工表和部门表,要查询员工的信息,还要关联到员工的部门编号和部门的姓名

在EmployeeDao.xml中


    <resultMap id="employee" type="Employee">
        <id property="sn" column="sn" javaType="String"/>
        <result property="password" column="password" javaType="String"/>
        <result property="name" column="name" javaType="String"/>
        <result property="departmentSn" column="department_sn" javaType="String"/>
        <result property="post" column="post" javaType="String"/>
		<!--写下面这个是你 不止查你employee这张表的信息,还要查出关联外键的部门信息-->
        <association property="department" column="department_sn" javaType="Department" >
            <id property="sn" column="dsn" javaType="String"/>
            <result property="name" column="dname" javaType="String"/>
        </association>
    </resultMap>
    
   	//在这里sql语句中,使用的左连接,因为直接连接会存在冗余数据,左连接的效率更高
   	//起别名的方法 d.sn dsn
    <select id="select" parameterType="String" resultMap="employee">
        select e.*,d.sn dsn,d.name dname from employee e left join department d on d.sn=e.department_sn
         where e.sn=#{sn}
    </select>

6,关于登录信息

判断有没有登录需要根据session来判断
	public class LoginInterceptor implements HandlerInterceptor {
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {

        String url = httpServletRequest.getRequestURI();
        if(url.toLowerCase().indexOf("login")>=0){
            return true;
        }
		<!--判断如果不为空->
        HttpSession session = httpServletRequest.getSession();
        if(session.getAttribute("employee")!=null){
            return true;
        }
        /、如果为空,跳转到重新登录
        httpServletResponse.sendRedirect("/to_login");
        return false;
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OA办公系统的九大设计原则: 1.整体性 系统整体设计能有效的实现后台一体化管理,前端满足用户个性化需求,系统标准化程度高。 2.先进性 软件采用的技术,将在相当长的时间内保证技术的发展能力,应具有良好便捷的升级能力,选用的硬件设备及操作系统、数据库产品、应用软件均具有先进性及成熟的技术与产品。 3.规范性 遵循统一的国家规范公文格式和交换接口标准。 4.高效性 系统提供对各类事务处理的高效性。使对大容量数据的查询和更新等操作也在较短的时间内迅速完成。对于大数据量的处理,也能高效地完成。 5.安全可靠性 采用最成熟和应用最广泛的技术平台,支持身份认证技术、安全加密技术;数据在传输过程和数据库中采用高加密技术,保证数据的安全性。分不同的角色控制信息数据,采用横向和纵向结合的矩阵权限控制模式,保证企业的各种信息安全。 6.扩展性 由于计算机和网络等领域技术发展十分迅速,应用环境,系统硬件及系统软件都会不可避免将被更新,系统的可扩充性及版本的兼容性,直接影响着应用系统和用户需求的发展和功能的提升。因此,OA系统十分重视扩展性,能很容易地适应调整,扩充和删减;另一方面,它还具有与其它系统的接口能力,利用各系统功能之长,进行优势互补。 7.适应性和灵活性 在日常工作中,不可避免地需要进行机构及人员的调整,OA系统能提供充分的变更与扩展能力,适用机构及人员的调整。OA系统还具有图形化工作流定义工具,系统管理员可在浏览器环境下任意调整或定义工作流程。系统具有灵活的信息发布系统,用户可根据需要定制发布需要的新闻、通知。 8.易用性 系统的设计尤其重视用户界面的友好性。简洁大方、功能齐备、美观实用、提示准确。 9.健壮性 OA办公系统的开发设计应该支持应用和数据库等多重负载均衡能力,支持附件服务器和数据库服务器分离技术,从而支持数万用户同时在线和同时操作的能力,不会因为用户数的增长或者信息量的增长,而导致系统响应能力下降。 如何分辨OA办公系统的优劣?设计原则是一个重要的评判标准。优秀的设计原则能让OA办公系统脱颖而出,实现系统整体的高性能、高可用、可扩展,发挥出更强的协同办公能力。而OA办公系统设计的九大原则,基本上包括了OA办公系统的性能指标,给项目开发和用户选型提供了有益的借鉴,对于中国OA办公系统的整体水平也能起到提升作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值