• J2EE——自定义MVC框架的CRUD操作


    1.简单说说MVC是什么?(需要详细的看上一章的J2EE——自定义mvc有详细介绍)

     

    MVC全名:Model View Controller,其中Model(模型层)、View(视图层)、Controller(控制层)
    它是一种软件设计典范,用于业务逻辑处理、数据、界面显示分离。

    2. 使用自定义mvc框架完成CRUD操作

    这里所说的CRUD就是增删改查。

    其中自定义mvc框架工作原理如图所示:


    3. 自定义MVC框架的CRUD操作步骤

     

     其中jar包如图所示:

     

     代码不多(重要的是自己做的mvc.jar包)但是也给一些代码参考一下(细心很重要!!!)——BookDao

    1. package com.zking.mvcplus.dao;
    2. import java.sql.ResultSet;
    3. import java.sql.SQLException;
    4. import java.util.List;
    5. import com.zking.mvcplus.entity.Book;
    6. import com.zking.mvcplus.util.CommonUtils;
    7. import com.zking.mvcplus.util.PageBean;
    8. import com.zking.mvcplus.util.PinYinUtil;
    9. import com.zking.mvcplus.util.StringUtils;
    10. public class BookDao extends BaseDao<Book> {
    11. /**
    12. * 1.书本新增
    13. * @param book
    14. */
    15. public void addBook(Book book) {
    16. String sql="insert into t_book(book_name,book_name_pinyin,"
    17. + " book_price,book_type) values(?,?,?,?)";
    18. super.executeUpdate(sql, new Object[] {
    19. book.getBook_name(),
    20. PinYinUtil.toPinyin(book.getBook_name()).toLowerCase(),
    21. book.getBook_price(),
    22. book.getBook_type()
    23. });
    24. }
    25. /**
    26. * 2.书本删除
    27. * @param book
    28. */
    29. public void delBook(Book book) {
    30. String sql="delete from t_book where book_id=?";
    31. super.executeUpdate(sql, new Object[] {
    32. book.getBook_id()
    33. });
    34. }
    35. /**
    36. * 3.书本编辑
    37. * @param book
    38. */
    39. public void editBook(Book book) {
    40. String sql="update t_book set book_name=?,book_name_pinyin=?,"
    41. + "book_price=?,book_type=? where book_id=?";
    42. super.executeUpdate(sql, new Object[] {
    43. book.getBook_name(),
    44. PinYinUtil.toPinyin(book.getBook_name()).toLowerCase(),
    45. book.getBook_price(),
    46. book.getBook_type(),
    47. book.getBook_id()
    48. });
    49. }
    50. /**
    51. * 4.书本分页查询
    52. * @param book
    53. * @param pageBean
    54. * @return
    55. */
    56. public List<Book> queryBookPager(Book book,PageBean pageBean ){
    57. String sql="select * from t_book where 1=1";
    58. //按照书本名称模糊查询
    59. if(StringUtils.isNotBlank(book.getBook_name()))
    60. sql+=" and book_name like '%"+book.getBook_name()+"%'";
    61. //按照书本编号降序排序
    62. sql+=" order by book_id desc";
    63. System.out.println(sql);
    64. return super.excuteQuery(sql, pageBean,new CallBack<Book>(){
    65. @Override
    66. public List<Book> foreachRs(ResultSet rs) throws SQLException, Exception {
    67. return CommonUtils.toList(rs, Book.class);
    68. }
    69. });
    70. }
    71. /**
    72. * 5.根据书本编号ID查询单个书本信息
    73. * @param book
    74. * @return
    75. */
    76. public Book queryBookById(Book book){
    77. String sql="select * from t_book where book_id="+book.getBook_id();
    78. System.out.println(sql);
    79. List<Book> lst=super.excuteQuery(sql, null,new CallBack<Book>(){
    80. @Override
    81. public List<Book> foreachRs(ResultSet rs) throws SQLException, Exception{
    82. return CommonUtils.toList(rs, Book.class);
    83. }
    84. });
    85. if(null!=lst&&lst.size()!=0)
    86. return lst.get(0);
    87. else
    88. return null;
    89. }
    90. }

     通过反射机制调用以上方法即可。

    效果图如下:

     

    注意:增删改用重定向  查询用转发

    3.1 自定义MVC框架的CRUD操作

    3.2.配置config.xml文件

    3.3.导入PageTag自定义分页标签类

    3.4.导入自定义分页标签的描述文件z.tld
      注:导入到WEB-INF目录下

  • 相关阅读:
    51单片机学习:LED点阵实验(显示图像)
    【Godot4自学手册】第四十四节用着色器(shader)实现溶解效果
    java毕业生设计大学生网络创业就业管理系统计算机源码+系统+mysql+调试部署+lw
    POSTGRESQL中的groupping函数详解
    【从头构筑C#知识体系】1.1 类
    windbgpreview过滤无用信息
    SpringMVC中有哪些常用的注解呢?
    实用篇-服务拆分及远程调用
    游戏行业该如何应对DDoS攻击问题呢?
    【多线程面试题 六】、 如何实现线程同步?
  • 原文地址:https://blog.csdn.net/m0_62019369/article/details/125433429