SSM整合-增删改查


2018-08-22一更
2018-08-28二更
2019-09-05三更(小结)
2019-09-06复盘总结

基础环境搭建

• 1、创建一个maven工程
• 2、引入项目依赖的jar包

 1. • spring
 2. • springmvc
 3. • mybatis
 4. • 数据库连接池,驱动包
 5. • 其他(jstl,servlet-api,junit)

• 3、引入bootstrap前端框架
• 4、编写ssm整合的关键配置环境搭建

  1. • web.xml,spring,springmvc,mybatis,使用mybatis的逆向工程生成对应的bean以及mapper

• 5、测试mapper

功能点

• 1、分页
• 2、数据校验
• jquery前端校验+JSR303后端校验
• 3、ajax
• 4、Rest风格的URI;

    使用HTTP协议请求方式的动词,来表示对资源的操作
 1. GET(查询)
 2. POST(新增)
 3. PUT(修改)
 4. DELETE(删除)

技术点

• 1、基础框架-ssm(SpringMVC+Spring+MyBatis)
• 2、数据库-MySQL
• 3、前端框架-bootstrap快速搭建简洁美观的界面
• 4、项目的依赖管理-Maven
• 5、分页-pagehelper
• 6、逆向工程-MyBatis Generator

增删改查的逻辑

  1. 查询

• 1、访问index.jsp页面
• 2、index.jsp页面发送出查询员工列表请求
• 3、EmployeeController来接受请求,查出员工数据
• 4、来到list.jsp页面进行展示
•5、pageHelper分页插件完成分页查询功能
• URI:/emps

  1. ajax改写

• 1、index.jsp页面直接发送ajax请求进行员工分页数据的查询
• 2、服务器将查出的数据,以json字符串的形式返回给浏览器
• 3、浏览器收到js字符串。可以使用js对json进行解析,使用js通过 dom增删改改变页面。
• 4、返回json。实现客户端的无关性。

  1. 新增-逻辑

• 1、在index.jsp页面点击”新增”
• 2、弹出新增对话框
• 3、去数据库查询部门列表,显示在对话框中
• 4、用户输入数据,并进行校验
• jquery前端校验,ajax用户名重复校验,重要数据(后端校验(JSR303),唯一约束);
• 5、完成保存

  1. 修改

• 1、点击编辑
• 2、弹出用户修改的模态框(显示用户信息)
• 3、点击更新,完成用户修改

  1. 删除-逻辑

• 1、单个删除
• URI:/emp/{id} DELETE
• 2、批量删除

流程及流程图

  1. 用户通过我们Bootstrap快速搭建的UI进行访问发送用户请求**(ajax请求)**来到Tomcat服务器,
  2. 当前项目(SSM)收到请求被SpringMVC解析,SpringMVC找Controller层是否能处理当前请求,
  3. 如果不能处理该请求就交给Tomcat比如静态资源。
  4. Controller层调用Service层,需要用到数据库就要调用Dao层通过Mybatis中的Mapper对数据库的处理(我们所有的Mapper接口Mapper文件和数据库内容都是用Mybatis MGB逆向生成的,只是复杂的操作是在Mapper基础上定义的新的方法)
  5. 如果不需要用到数据库,Service直接处理。
  6. 最后将处理的结果通过JS解析JSON,然后在页面显示给用户看。

在这里插入图片描述

遇到的问题

  1. 数据连接
<!-- https://mvnrepository.com/artifact/c3p0/c3p0 -->
<dependency>
	<groupId>c3p0</groupId>
	<artifactId>c3p0</artifactId>
	<version>0.9.0</version>
</dependency>
			数据库连接池jar有问题,用此包就可以了

2.路径

<!-- web路径:-->
不以/开始的相对路径,找资源,以当前资源的路径为基准,经常容易出问题。
以/开始的相对路径,找资源,以服务器的路径为标准(http://localhost:3306);需要加上项目名
		http://localhost:3306/crud
		处理路径可以在处理上加上
<%
	pageContext.setAttribute("APP_PATH", request.getContextPath());
%>
然后调用"APP_PATH"这个全局变量
  1. 单元测试

    单元测试会报Failed to load ApplicationContext错误
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>provided</scope>
    </dependency>
    请看第五条
    

4.如果mapper.java和mapper.xml不在同一个 路径下应如何配置

放在不同路径下,创建xml文件路径为resource路径
mapper路径:src/main/java/com.xx.xx
xml路径:src/main/resources/com.xx.xx
修改spring-mybatis.xml

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
        <!--mybatis配置文件 -->  
        <property name="configLocation" value="classpath:mybatis-config.xml" />  
        <!-- xml路径 -->  
        <property name="mapperLocations" value="classpath:src/main/resources/com.xx.xx" />
    </bean>  
  
    <!-- mapper路径  Mapper接口所在包名,Spring会自动查找其下的类 -->  
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.edip.mapper" />  
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>  
    </bean>  

5.其他各种错误

这个主要讲一个中心重点:一定要细心。
这个主要讲一个中心重点:一定要细心。
这个主要讲一个中心重点:一定要细心。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值