6. Spring MVC2

SpringMVC案例: 产品列表显示

功能流程设计

/book/list.do-->DispatcherServlet-->HandlerMapping-->BookListController(返回ModelAndView)-->ViewResolver-->/book_list.jsp

编写缺失组件

  1. 编写BookListController

  2. 编写book_list.jsp

  3. 编写BookDao

    • 追加了ojdbc.jar、c3p0、spring-dao开发包
    • 编写实体类

      public class Book implements Serializable{
      
          private int id;
          private String author;
          private String publishing;
          private Date publish_time;
          private String isbn;
          private int total_page;
          private String book_summary;
          //省略其他字段对应属性
          //省略set和get方法
      }
      
    • 编写BookDao接口

      public interface BookDao {
          /**
           * 根据时间查询前size个图书信息(时间降序)
           * @param size
           * @return
           */
          public List<Book> findBooks(int size);
      }
      
    • 编写JdbcBookDao实现类

      public class JdbcBookDao implements BookDao{
      
          private JdbcTemplate template;
      
          @Override
          public List<Book> findBooks(int size) {
              String sql  = "";
              sql+="select id,author ";
              sql+="from (select id,author from xdl_book order by publish_time desc) ";
              sql+="where rownum<? ";
              Object[] args = {size};
              //字段名和属性名相同加载数据,不同就加载不上
              RowMapper<Book> rowMapper = new BeanPropertyRowMapper<Book>(Book.class);
              List<Book> list = template.query(sql,args,rowMapper);
              return list;
          }
      
      }
      
  4. 配置BookDao,给Controller注入

    • 扫描BookDao,注入JdbcTemplate对象

      在JdbcBookDao前追加@Repository和@Autowired标记

    • 定义JdbcTemplate对象

      <bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
          <property name="dataSource" ref="c3p0"></property>
      </bean>
      
    • 定义c3p0连接池对象

      <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource">
          <property name="user" value="SCOTT"></property>
          <property name="password" value="TIGER"></property>
          <property name="jdbcUrl" value="jdbc:oracle:thin:@locahost:1521:XE"></property>
          <property name="driverClass" value="oracle.jdbc.OracleDriver"></property>
      </bean>
      

流程配置

  1. 配置DispatcherServlet

  2. 配置HandlerMapping

  3. 配置BookListController

  4. 配置ViewResolver

测试

Spring案例: 删除操作

  1. 功能流程设计

/book/delete.do?id=xx-->DispatcherServlet-->HandlerMapping-->BookListController(返回ModelAndView)-->ViewResolver-->/list.do

Spring案例: 更新操作

  1. 初始显示功能流程设计

/book/update.do?id=xx-->DispatcherServlet-->HandlerMapping-->BookListController-->ViewResolver-->/book_update.jsp

  1. 更新按钮功能流程设计

/book/modify.do-->DispatcherServlet-->HandlerMapping-->BookListController-->ViewResolver-->/list.do

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值