• SpringMvc--CRUD


    目录

    一.什么是SpringMvc--CRUD

    二.前期准备

    公共页面跳转(专门用来处理页面跳转)

    三.ssm之CRUD后端实现

    配置pom.xml

    双击mybatis-generator:generate自动生成mapper

    编写generatorConfig.xml

    项目结构 

    编写PagerAspect切面类

    编写hpjyBiz接口类

    编写hpjyBizImpl接口实现类

    编写Spring-mybatias.xml

    编写Spring.mvc.xml

    在重新配置pom.xml文件

    编写page tag类

    编写hpjyController类

    四.ssm之CRUD前端实现

    编写jsp/hpjy/list.jsp

    测试页面

    测试查询

    测试新增

     ​编辑

    测试修改 

    测试删除

    ​编辑 


    一.什么是SpringMvc--CRUD

    什么是SpringMvc--CRUD

    Spring MVC是一个基于Java的Web应用程序框架,它提供了一种MVC(模型-视图-控制器)的架构模式来开发Web应用程序。CRUD是指创建(Create)、读取(Read)、更新(Update)和删除(Delete)这四个基本的数据操作。在Spring MVC中,你可以使用相关的注解和配置方式来实现CRUD操作,简化了Web应用程序的开发过程。

    二.前期准备

    公共页面跳转(专门用来处理页面跳转)
    1. package com.xy.web;
    2. import org.springframework.stereotype.Controller;
    3. import org.springframework.web.bind.annotation.PathVariable;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. /**
    6. * @author bing人
    7. * @site
    8. * @company xy集团
    9. * @create 2023-09-07 14:53
    10. */
    11. //专门用来处理页面跳转
    12. @Controller
    13. public class PageController {
    14. @RequestMapping("/page/{page}")
    15. public String toPage(@PathVariable("page") String page){
    16. return page;
    17. }
    18. @RequestMapping("/page/{Dir}{page}")
    19. public String toDirPage(@PathVariable("Dir") String dir,
    20. @PathVariable("page") String page){
    21. return dir + "/" + page;
    22. }
    23. }

    三.ssm之CRUD后端实现

    配置pom.xml
    1. "1.0" encoding="UTF-8"?>
    2. "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. 4.0.0
    5. com.zking
    6. xyzyssm
    7. 1.0-SNAPSHOT
    8. war
    9. xyzyssm Maven Webapp
    10. http://www.example.com
    11. UTF-8
    12. 1.8
    13. 1.8
    14. 3.7.0
    15. 5.0.2.RELEASE
    16. 3.4.5
    17. 5.1.44
    18. 5.1.2
    19. 1.3.1
    20. 2.1.1
    21. 2.4.3
    22. 2.9.1
    23. 3.2.0
    24. 1.7.13
    25. 4.12
    26. 4.0.0
    27. 1.18.2
    28. 1.2
    29. 1.1.2
    30. 5.0.2.RELEASE
    31. 2.9.3
    32. org.springframework
    33. spring-context
    34. ${spring.version}
    35. org.springframework
    36. spring-orm
    37. ${spring.version}
    38. org.springframework
    39. spring-tx
    40. ${spring.version}
    41. org.springframework
    42. spring-aspects
    43. ${spring.version}
    44. org.springframework
    45. spring-web
    46. ${spring.version}
    47. org.springframework
    48. spring-test
    49. ${spring.version}
    50. org.mybatis
    51. mybatis
    52. ${mybatis.version}
    53. mysql
    54. mysql-connector-java
    55. ${mysql.version}
    56. com.github.pagehelper
    57. pagehelper
    58. ${pagehelper.version}
    59. org.mybatis
    60. mybatis-spring
    61. ${mybatis.spring.version}
    62. org.apache.commons
    63. commons-dbcp2
    64. ${commons.dbcp2.version}
    65. commons-pool2
    66. org.apache.commons
    67. org.apache.commons
    68. commons-pool2
    69. ${commons.pool2.version}
    70. org.slf4j
    71. slf4j-api
    72. ${slf4j.version}
    73. org.slf4j
    74. jcl-over-slf4j
    75. ${slf4j.version}
    76. runtime
    77. org.apache.logging.log4j
    78. log4j-api
    79. ${log4j2.version}
    80. org.apache.logging.log4j
    81. log4j-core
    82. ${log4j2.version}
    83. org.apache.logging.log4j
    84. log4j-slf4j-impl
    85. ${log4j2.version}
    86. slf4j-api
    87. org.slf4j
    88. org.apache.logging.log4j
    89. log4j-web
    90. ${log4j2.version}
    91. runtime
    92. com.lmax
    93. disruptor
    94. ${log4j2.disruptor.version}
    95. junit
    96. junit
    97. ${junit.version}
    98. javax.servlet
    99. javax.servlet-api
    100. ${servlet.version}
    101. provided
    102. org.projectlombok
    103. lombok
    104. ${lombok.version}
    105. provided
    106. org.springframework
    107. spring-webmvc
    108. ${spring.version}
    109. jstl
    110. jstl
    111. ${jstl.version}
    112. taglibs
    113. standard
    114. ${standard.version}
    115. com.fasterxml.jackson.core
    116. jackson-databind
    117. ${jackson.version}
    118. com.fasterxml.jackson.core
    119. jackson-core
    120. ${jackson.version}
    121. com.fasterxml.jackson.core
    122. jackson-annotations
    123. ${jackson.version}
    124. xyzyssm
    125. src/main/java
    126. **/*.xml
    127. src/main/resources
    128. jdbc.properties
    129. *.xml
    130. org.apache.maven.plugins
    131. maven-compiler-plugin
    132. ${maven.compiler.plugin.version}
    133. ${maven.compiler.source}
    134. ${maven.compiler.target}
    135. ${project.build.sourceEncoding}
    136. org.mybatis.generator
    137. mybatis-generator-maven-plugin
    138. 1.3.2
    139. mysql
    140. mysql-connector-java
    141. ${mysql.version}
    142. true
    143. maven-clean-plugin
    144. 3.1.0
    145. maven-resources-plugin
    146. 3.0.2
    147. maven-compiler-plugin
    148. 3.8.0
    149. maven-surefire-plugin
    150. 2.22.1
    151. maven-war-plugin
    152. 3.2.2
    153. maven-install-plugin
    154. 2.5.2
    155. maven-deploy-plugin
    156. 2.8.2
    双击mybatis-generator:generate自动生成mapper

    (注:只要双击一次就可以了,如果多次双击会生成多个mapper)

    编写generatorConfig.xml
    1. "1.0" encoding="UTF-8" ?>
    2. "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    3. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
    4. "jdbc.properties"/>
    5. "C:\\temp2\\mvn_repository\\mysql\\mysql-connector-java\\5.1.44\\mysql-connector-java-5.1.44.jar"/>
    6. "infoGuardian">
    7. "suppressAllComments" value="true"/>
    8. "suppressDate" value="true"/>
    9. "${jdbc.driver}"
    10. connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"/>
    11. "forceBigDecimals" value="false"/>
    12. "com.xy.model"
    13. targetProject="src/main/java">
    14. "enableSubPackages" value="false"/>
    15. "constructorBased" value="true"/>
    16. "trimStrings" value="false"/>
    17. "immutable" value="false"/>
    18. "com.xy.mapper"
    19. targetProject="src/main/java">
    20. "enableSubPackages" value="false"/>
    21. "com.xy.mapper"
    22. targetProject="src/main/java" type="XMLMAPPER">
    23. "enableSubPackages" value="false"/>
    24. "" tableName="t_hpjy" domainObjectName="hpjy"
    25. enableCountByExample="false" enableDeleteByExample="false"
    26. enableSelectByExample="false" enableUpdateByExample="false">
    项目结构 

     

    编写PagerAspect切面类
    1. package com.xy.aspect;
    2. import com.github.pagehelper.PageHelper;
    3. import com.github.pagehelper.PageInfo;
    4. import com.xy.utils.PageBean;
    5. import org.aspectj.lang.ProceedingJoinPoint;
    6. import org.aspectj.lang.annotation.Around;
    7. import org.aspectj.lang.annotation.Aspect;
    8. import org.springframework.stereotype.Component;
    9. import java.util.List;
    10. /**
    11. * @author bing人
    12. * @site
    13. * @company xy集团
    14. * @create 2023-08-25 16:33
    15. */
    16. @Aspect //代表当前类为切面类
    17. @Component //代表当前类交给spring进行管理
    18. public class PagerAspect {
    19. @Around("execution(* *..*Biz.*Pager(..))")
    20. public Object invoke(ProceedingJoinPoint args) throws Throwable{
    21. PageBean pageBean=null;
    22. //获取目标方法中的所有参数
    23. Object[] ags = args.getArgs();
    24. for (Object param : ags) {
    25. if(param instanceof PageBean){
    26. pageBean = (PageBean) param;
    27. break;
    28. }
    29. }
    30. if(pageBean !=null && pageBean.isPagination())
    31. PageHelper.startPage(pageBean.getPage(),pageBean.getRows());
    32. //执行目标方法
    33. Object lst = args.proceed();
    34. if(pageBean !=null && pageBean.isPagination()){
    35. PageInfo info = new PageInfo((List) lst);
    36. pageBean.setTotal((int)info.getTotal());
    37. }
    38. return lst;
    39. }
    40. }
    编写hpjyBiz接口类
    1. package com.xy.biz;
    2. import com.xy.model.hpjy;
    3. import com.xy.utils.PageBean;
    4. import java.util.List;
    5. public interface hpjyBiz {
    6. int deleteByPrimaryKey(Integer id);
    7. int insert(hpjy record);
    8. int insertSelective(hpjy record);
    9. hpjy selectByPrimaryKey(Integer id);
    10. int updateByPrimaryKeySelective(hpjy record);
    11. int updateByPrimaryKey(hpjy record);
    12. List listPager(hpjy hpjy, PageBean pageBean);
    13. }
    编写hpjyBizImpl接口实现类
    1. package com.xy.biz.impl;
    2. import com.xy.biz.hpjyBiz;
    3. import com.xy.mapper.hpjyMapper;
    4. import com.xy.model.hpjy;
    5. import com.xy.utils.PageBean;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.stereotype.Service;
    8. import java.util.List;
    9. /**
    10. * @author bing人
    11. * @site
    12. * @company xy集团
    13. * @create 2023-09-07 16:33
    14. */
    15. @Service
    16. public class hpjyBizImpl implements hpjyBiz {
    17. @Autowired
    18. private hpjyMapper hpjymapper;
    19. @Override
    20. public int deleteByPrimaryKey(Integer id) {
    21. return hpjymapper.deleteByPrimaryKey(id);
    22. }
    23. @Override
    24. public int insert(hpjy record) {
    25. return hpjymapper.insert(record);
    26. }
    27. @Override
    28. public int insertSelective(hpjy record) {
    29. return hpjymapper.insertSelective(record);
    30. }
    31. @Override
    32. public hpjy selectByPrimaryKey(Integer id) {
    33. return hpjymapper.selectByPrimaryKey(id);
    34. }
    35. @Override
    36. public int updateByPrimaryKeySelective(hpjy record) {
    37. return hpjymapper.updateByPrimaryKeySelective(record);
    38. }
    39. @Override
    40. public int updateByPrimaryKey(hpjy record) {
    41. return hpjymapper.updateByPrimaryKey(record);
    42. }
    43. @Override
    44. public List listPager(hpjy hpjy, PageBean pageBean) {
    45. return hpjymapper.SelectBycon(hpjy);
    46. }
    47. }
    编写Spring-mybatias.xml
    1. "1.0" encoding="UTF-8"?>
    2. "http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    5. xmlns:aop="http://www.springframework.org/schema/aop"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    7. package="com.xy"/>
    8. "classpath:jdbc.properties"/>
    9. "dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    10. destroy-method="close">
    11. "driverClassName" value="${jdbc.driver}"/>
    12. "url" value="${jdbc.url}"/>
    13. "username" value="${jdbc.username}"/>
    14. "password" value="${jdbc.password}"/>
    15. "initialSize" value="10"/>
    16. "maxTotal" value="100"/>
    17. "maxIdle" value="50"/>
    18. "minIdle" value="10"/>
    19. "maxWaitMillis" value="-1"/>
    20. "sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    21. "dataSource" ref="dataSource"/>
    22. "mapperLocations" value="classpath*:com/xy/**/mapper/*.xml"/>
    23. "typeAliasesPackage" value="com/xy/ssm/**/model"/>
    24. "plugins">
    25. "com.github.pagehelper.PageInterceptor">
    26. "properties">
    27. helperDialect=mysql
    28. "/>
    29. " value="sqlSessionFactory"/>
    30. " class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    31. " ref="dataSource" />
    32. " />
    编写Spring.mvc.xml
    1. "1.0" encoding="UTF-8"?>
    2. "http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:aop="http://www.springframework.org/schema/aop"
    6. xmlns:mvc="http://www.springframework.org/schema/mvc"
    7. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
    9. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
    10. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    11. package="com.xy"/>
    12. "org.springframework.web.servlet.view.InternalResourceViewResolver">
    13. "viewClass"
    14. value="org.springframework.web.servlet.view.JstlView">
    15. "prefix" value="/WEB-INF/jsp/"/>
    16. "suffix" value=".jsp"/>
    17. "/static/" mapping="/static/**"/>
    在重新配置pom.xml文件
    1. "1.0" encoding="UTF-8"?>
    2. "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4. 4.0.0
    5. org.example
    6. xyzy
    7. 1.0-SNAPSHOT
    8. war
    9. xyzy Maven Webapp
    10. http://www.example.com
    11. UTF-8
    12. 1.8
    13. 1.8
    14. 3.7.0
    15. 5.0.2.RELEASE
    16. 3.4.5
    17. 5.1.44
    18. 5.1.2
    19. 1.3.1
    20. 2.1.1
    21. 2.4.3
    22. 2.9.1
    23. 3.2.0
    24. 1.7.13
    25. 4.12
    26. 4.0.0
    27. 1.18.2
    28. 1.1.0
    29. 2.10.0
    30. 2.9.0
    31. 1.7.1.RELEASE
    32. 2.9.3
    33. 1.2
    34. 1.1.2
    35. 8.0.47
    36. 1.3.3
    37. 5.0.2.Final
    38. 1.3.2
    39. org.springframework
    40. spring-core
    41. ${spring.version}
    42. org.springframework
    43. spring-beans
    44. ${spring.version}
    45. org.springframework
    46. spring-context
    47. ${spring.version}
    48. org.springframework
    49. spring-orm
    50. ${spring.version}
    51. org.springframework
    52. spring-tx
    53. ${spring.version}
    54. org.springframework
    55. spring-aspects
    56. ${spring.version}
    57. org.springframework
    58. spring-web
    59. ${spring.version}
    60. org.springframework
    61. spring-test
    62. ${spring.version}
    63. org.mybatis
    64. mybatis
    65. ${mybatis.version}
    66. mysql
    67. mysql-connector-java
    68. ${mysql.version}
    69. com.github.pagehelper
    70. pagehelper
    71. ${pagehelper.version}
    72. org.mybatis
    73. mybatis-spring
    74. ${mybatis.spring.version}
    75. org.springframework
    76. spring-context-support
    77. ${spring.version}
    78. org.mybatis.caches
    79. mybatis-ehcache
    80. ${mybatis.ehcache.version}
    81. net.sf.ehcache
    82. ehcache
    83. ${ehcache.version}
    84. redis.clients
    85. jedis
    86. ${redis.version}
    87. org.springframework.data
    88. spring-data-redis
    89. ${redis.spring.version}
    90. com.fasterxml.jackson.core
    91. jackson-databind
    92. ${jackson.version}
    93. com.fasterxml.jackson.core
    94. jackson-core
    95. ${jackson.version}
    96. com.fasterxml.jackson.core
    97. jackson-annotations
    98. ${jackson.version}
    99. org.apache.commons
    100. commons-dbcp2
    101. ${commons.dbcp2.version}
    102. commons-pool2
    103. org.apache.commons
    104. org.apache.commons
    105. commons-pool2
    106. ${commons.pool2.version}
    107. org.springframework
    108. spring-webmvc
    109. ${spring.version}
    110. org.slf4j
    111. slf4j-api
    112. ${slf4j.version}
    113. org.slf4j
    114. jcl-over-slf4j
    115. ${slf4j.version}
    116. runtime
    117. org.apache.logging.log4j
    118. log4j-api
    119. ${log4j2.version}
    120. org.apache.logging.log4j
    121. log4j-core
    122. ${log4j2.version}
    123. org.apache.logging.log4j
    124. log4j-slf4j-impl
    125. ${log4j2.version}
    126. org.apache.logging.log4j
    127. log4j-web
    128. ${log4j2.version}
    129. runtime
    130. com.lmax
    131. disruptor
    132. ${log4j2.disruptor.version}
    133. junit
    134. junit
    135. ${junit.version}
    136. javax.servlet
    137. javax.servlet-api
    138. ${servlet.version}
    139. provided
    140. org.projectlombok
    141. lombok
    142. ${lombok.version}
    143. provided
    144. jstl
    145. jstl
    146. ${jstl.version}
    147. taglibs
    148. standard
    149. ${standard.version}
    150. org.apache.tomcat
    151. tomcat-jsp-api
    152. ${tomcat-jsp-api.version}
    153. commons-fileupload
    154. commons-fileupload
    155. ${commons-fileupload.version}
    156. org.hibernate
    157. hibernate-validator
    158. ${hibernate-validator.version}
    159. org.apache.shiro
    160. shiro-core
    161. ${shiro.version}
    162. org.apache.shiro
    163. shiro-web
    164. ${shiro.version}
    165. org.apache.shiro
    166. shiro-spring
    167. ${shiro.version}
    168. xyzy
    169. src/main/java
    170. **/*.xml
    171. src/main/resources
    172. *.properties
    173. *.xml
    174. org.apache.maven.plugins
    175. maven-compiler-plugin
    176. ${maven.compiler.plugin.version}
    177. ${maven.compiler.source}
    178. ${maven.compiler.target}
    179. ${project.build.sourceEncoding}
    180. org.mybatis.generator
    181. mybatis-generator-maven-plugin
    182. 1.3.2
    183. mysql
    184. mysql-connector-java
    185. ${mysql.version}
    186. true
    187. maven-clean-plugin
    188. 3.1.0
    189. maven-resources-plugin
    190. 3.0.2
    191. maven-compiler-plugin
    192. 3.8.0
    193. maven-surefire-plugin
    194. 2.22.1
    195. maven-war-plugin
    196. 3.2.2
    197. maven-install-plugin
    198. 2.5.2
    199. maven-deploy-plugin
    200. 2.8.2
    编写page tag类
    1. package com.xy.tag;
    2. import com.xy.utils.PageBean;
    3. import javax.servlet.jsp.JspException;
    4. import javax.servlet.jsp.JspWriter;
    5. import javax.servlet.jsp.tagext.BodyTagSupport;
    6. import java.io.IOException;
    7. import java.util.Map;
    8. import java.util.Map.Entry;
    9. import java.util.Set;
    10. public class PageTag extends BodyTagSupport{
    11. private PageBean pageBean;// 包含了所有分页相关的元素
    12. public PageBean getPageBean() {
    13. return pageBean;
    14. }
    15. public void setPageBean(PageBean pageBean) {
    16. this.pageBean = pageBean;
    17. }
    18. @Override
    19. public int doStartTag() throws JspException {
    20. // 没有标签体,要输出内容
    21. JspWriter out = pageContext.getOut();
    22. try {
    23. out.print(toHTML());
    24. } catch (IOException e) {
    25. e.printStackTrace();
    26. }
    27. return super.doStartTag();
    28. }
    29. private String toHTML() {
    30. StringBuffer sb = new StringBuffer();
    31. // 隐藏的form表单---这个就是上一次请求下次重新发的奥义所在
    32. // 上一次请求的URL
    33. sb.append("
      ");
    34. sb.append(" ");
    35. // 上一次请求的参数
    36. Map paramMap = pageBean.getMap();
    37. if(paramMap != null && paramMap.size() > 0) {
    38. Set> entrySet = paramMap.entrySet();
    39. for (Entry entry : entrySet) {
    40. // 参数名
    41. String key = entry.getKey();
    42. // 参数值
    43. for (String value : entry.getValue()) {
    44. // 上一次请求的参数,再一次组装成了新的Form表单
    45. // 注意:page参数每次都会提交,我们需要避免
    46. if(!"page".equals(key)) {
    47. sb.append(" ");
    48. }
    49. }
    50. }
    51. }
    52. sb.append("");
    53. // 分页条
    54. sb.append("
        ");
    55. sb.append("
    56. );
  • ");
  • sb.append("
  • );
  • ");// less than 小于号
  • // sb.append("
  • 1
  • ");
  • // sb.append("
  • 2
  • ");
  • sb.append("
  • "+pageBean.getPage()+"
  • ");
  • sb.append("
  • >
  • ");
  • sb.append("
  • 尾页
  • ");
  • sb.append("
  • 到第);
  • sb.append(" type='text' id='skipPage' name='' />
  • ");
  • sb.append("
  • );
  • ");
  • sb.append("
  • 共"+pageBean.getTotal()+"条
  • ");
  • sb.append("");
  • // 分页执行的JS代码
  • sb.append("");
  • return sb.toString();
  • }
  • }
  • 编写hpjyController类
    1. package com.xy.web;
    2. import com.xy.biz.hpjyBiz;
    3. import com.xy.model.hpjy;
    4. import com.xy.utils.PageBean;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.web.bind.annotation.GetMapping;
    8. import org.springframework.web.bind.annotation.RequestMapping;
    9. import javax.servlet.http.HttpServletRequest;
    10. import java.util.List;
    11. /**
    12. * @author bing人
    13. * @site
    14. * @company xy集团
    15. * @create 2023-09-08 19:13
    16. */
    17. @Controller
    18. @RequestMapping("/hpjy")
    19. public class hpjyController {
    20. @Autowired
    21. private hpjyBiz hpjyBiz;
    22. //增
    23. @RequestMapping("/add")
    24. public String add(hpjy hpjy){
    25. int i = hpjyBiz.insertSelective(hpjy);
    26. return "redirect:list";
    27. }
    28. //删
    29. @RequestMapping("/del")
    30. public String del(hpjy hpjy){
    31. hpjyBiz.deleteByPrimaryKey(hpjy.getId());
    32. return "redirect:list";
    33. }
    34. //改
    35. public String edit(hpjy hpjy){
    36. hpjyBiz.updateByPrimaryKeySelective(hpjy);
    37. return "redirect:list";
    38. }
    39. //查
    40. @GetMapping("/list")
    41. public String list(hpjy hpjy, HttpServletRequest request){
    42. PageBean pageBean =new PageBean();
    43. pageBean.setRequest(request);
    44. List hpjies = hpjyBiz.listPager(hpjy, pageBean);
    45. request.setAttribute("lst",hpjies);
    46. request.setAttribute("pageBean",pageBean);
    47. return "hpjy/list";
    48. }
    49. //数据回显
    50. @RequestMapping("/presave")
    51. public String presave(hpjy hpjy,HttpServletRequest request){
    52. if(hpjy != null && hpjy.getId() !=null && hpjy.getId() !=0){
    53. hpjy h = hpjyBiz.selectByPrimaryKey(hpjy.getId());
    54. request.setAttribute("h",h);
    55. }
    56. return "hpjy/edit";
    57. }
    58. }

    四.ssm之CRUD前端实现

    编写jsp/hpjy/list.jsp
    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%@ taglib uri="http://jsp.veryedu.cn" prefix="z"%>
    4. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    5. "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    6. "Content-Type" content="text/html; charset=UTF-8">
    7. href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"
    8. rel="stylesheet">
    9. src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.js">
    10. 博客列表
    11. "form-inline"
    12. action="${pageContext.request.contextPath }/hpjy/list" method="get">
    13. "form-group mb-2">
    14. "text" class="form-control-plaintext" name="name"
    15. placeholder="请输入书籍名称">
    16. <%--"pagination" value="false" type="hidden">--%>
    17. "table table-striped bg-success">
    18. var="b" items="${lst }">
    19. "col">枪械编号"col">枪械名称"col">枪械属性"col">操作
      ${b.id }${b.name }${b.type }
    20. "${pageBean }">
    21. ${pageBean }
    测试页面

    测试查询

    测试新增
     
    测试修改 

    测试删除
     
  • 相关阅读:
    leetcode刷题:栈与队列02(用队列实现栈)
    计算机毕业论文Java项目源码下载基于SSM的旅游资讯网站含前台与后台
    大语言模型LangChain+ChatGLM3-6B的本地知识库与行业知识库价值体现
    linux网络编程epoll详解
    企业在选择文件加密软件应注意哪些问题?
    C++运算符重载详解(日期类实操)
    安卓app源码和设计报告——简易记账本
    TCR历史期刊为何受大家欢迎?
    HDFS的Shell操作
    Android手机防沉迷软件的基本原理
  • 原文地址:https://blog.csdn.net/2201_75455485/article/details/132736976