zoukankan      html  css  js  c++  java
  • 软件工程综合实践(3)

    软件工程综合实践(3)

    注意事项:

    1.  mybatis-config.xml

             a.实体类  和  别名设置  (让mybatis 能够识别项目中的实体类   将之与 数据库的   表名,列名,属性一一对应)

      <typeAliases>

        <!--  <typeAlias alias="User" type="com.neusoft.model.User" />-->

        <!--  <package name="com.neusoft.model"/>-->

        <typeAlias alias="Userinfo" type="cn.neusoft.pojo.Userinfo" />

      </typeAliases>

      说明:如果xxMapper.xml配置文件放在和xxMapper.java统一目录下,mappers也可以省略,因为org.mybatis.spring.mapper.MapperFactoryBean默认会去查找与xxMapper.java相同目录和名称的xxMapper.xml

      就不需要写

      <mapper resource="com/neusoft/mapper/userMapper.xml" />

      而   sql文所在 的 mapper.xml文件加载,我们可以通过mapper 扫描的方式进行处理,这里我们交给了spring 帮我们实现,具体内容在  spring-common.xml中操作了,具体方法如下:(在自己项目中,注意修改如下代码  加粗  标红的  包名)

      <!--

        3. mybatis自动扫描加载Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory

        basePackage:指定sql映射文件/接口所在的包(自动扫描)

      -->

      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <property name="basePackage" value="cn.neusoft.mapper"></property>

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

      <!--        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>-->

      </bean>

      在spring-mvc.xml文件中,开发的时候,我们全用注解的方式加速开发,这个时候需要注意  对项目中注解的内容进行扫描,具体方法如下:(加粗标红的cn.neusoft  代表是你需要扫描的包所在位置)

      <!-- 注解扫描包 -->

      <context:component-scan base-package="cn.neusoft" />

      <!-- 开启注解 -->

      <mvc:annotation-driven />

    在项目开发中  你们需要写:

    1. controller

    2. mapper 需要写一些常用方法(可以直接使用mybatis逆向工程生成的方法  生成mapper ,同时还可以生成 Userinfo 实体类)

    逆向生成的方法,有些特殊的sql 操作是没有的,还是需要手写

    3.Service的方法,需要写

    4.Jsp 页面需要实现

    package cn.neusoft.controller;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    import cn.neusoft.pojo.Userinfo;
    
    public class UsersController1 implements Controller {
    
        public ModelAndView handleRequest(HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            // TODO Auto-generated method stub
            //模拟一下数据库中信息
            List<Userinfo> list = new ArrayList<Userinfo>();
            //向list  注入数据
            Userinfo user1 = new Userinfo();
            user1.setUserid(1);
            user1.setUsername("neusoft");
            user1.setPwd("123");
            Userinfo user2 = new Userinfo();
            user2.setUserid(2);
            user2.setUsername("东软");
            user2.setPwd("123");        
            
            list.add(user1);
            list.add(user2);
            
            ModelAndView mav = new ModelAndView();
            //在ModelAndView   把 list 的值  传递
            //相当于  实现了  request.setAttribute("users",list);
            mav.addObject("users",list);
            //指定一个显示的   jsp 页面
            mav.setViewName("/users");
            return mav;
        }
    
    }

  • 相关阅读:
    git 常用命令
    svn常用命令
    mysql的bin或者sbin目录可执行文件
    SQL 函数
    SQL 通配符
    从一个Activity打开另外一个Activity
    断点下载数据
    多线程下载文件
    向服务器发送post请求
    android 查看网络图片
  • 原文地址:https://www.cnblogs.com/Yan1970/p/7118197.html
Copyright © 2011-2022 走看看