由于前段时间完成期末项目,在期末学科里也学到很多,但这里不书写接近2个月没有更新博客,
因为之前有过较为成熟的ssh框架运用以及理解的经验,我打算在寒假学习一下ssm,联合springboot,
学习内部采用的springmvc+spring+mybatis的springboot项目
直接省略了ssm本来繁多的xml配置,基本使用注解方式。
完成相同功能的代码更少,但是基本见不到太多的原理性的,仅适合快速开发与学习。

好开始吧。

环境准备:
idea2019-3.1+jdk8
maven3.6(已经配置完成)
目的:
创建一个ssm+springboot的项目。

**

一、首先创建一个springboot项目(有maven):

**
1.new Project–>spring Initialzr出现:

2.然后在下面填写项目相关信息:
项目是基于maven的,
Group表示为你的包名:com…**.


3.下一步:
选择项目需要的组件:

web–》 spring–》web
web–》SQL–》mybatis
如图


然后next到底就完成了项目的创建。。

第一次安装需要等待maven将jar包下载。{注意配maven的本地仓库位置}
**

二、springboot(ssm)目录结构:

**
首先是经典的mvc的目录创建方法。
包含:
dao
service
controller
bean(实体类)

其次含有ssm的
java源代码目录
资源目录(resources)
mapper.xml配置文件位置,
springboot配置文件位置,
其他目录
单元测试位置
工具包
pom.xml(maven依赖配置)

完整的目录结构如下:

三、最重要的一步:ssm框架的搭建

基于上述目录有:
实现对user的增删改查。
启动类:

package com.j.ssm;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;@SpringBootApplication
@EnableTransactionManagement //开启事务管理
@MapperScan("com.j.ssm.dao")
public class SsmApplication {public static void main(String[] args) {SpringApplication.run(SsmApplication.class, args);}}

UserBean实体类:

package com.j.ssm.bean;/*** user实体类** @author joker*/
public class UserBean {public Integer id;public String name;public int age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public UserBean() {}
}

controller控制层

package com.j.ssm.controller;import com.j.ssm.bean.UserBean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;/*** user控制层--使用springmvc** @author joker*/
//相当于@Controller+@ResponseBody两个注解的结合
//json交互--仅
@RestController
@RequestMapping("/U")
public class UserControl extends BaseControlImpl<UserBean> {/*** 保存user信息** @return*/@Override//    ,produces = "application/json;charset=utf-8"@RequestMapping(value = "/saveU", method = RequestMethod.POST)public void save() {super.save();}/*** 删除user信息** @return*/@Override@RequestMapping(value = "/deleteU", method = RequestMethod.POST)public void delete() {super.delete();}/*** 更新user信息** @return*/@Override@RequestMapping(value = "/updateU", method = RequestMethod.POST)public void update() {super.update();}
}

service:

package com.j.ssm.serviceimpl;import com.j.ssm.bean.UserBean;
import org.springframework.stereotype.Service;/*** userService层--使用mybatis* @author joker*/
@Service
public class UserServiceImpl extends BaseServiceImpl<UserBean>{@Overridepublic String saveS() {super.object=new UserBean();return super.saveS();}@Overridepublic String deleteS(Integer idInteger) {return super.deleteS(idInteger);}@Overridepublic String updateS(Integer idInteger) {super.object=new UserBean();return super.updateS(idInteger);}
}

dao层:(基于注解)
否则仅需要借口方法与对于的mapper.xml,在下面有介绍。

package com.j.ssm.dao;import com.j.ssm.bean.UserBean;import org.apache.ibatis.annotations.*;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;import java.util.List;/*** userDao层--使用mybatis** @author joker*///@MapperScan   //声明是一个Mapper,与springbootApplication中的@MapperScan二选一写上即可
@Repository
public interface UserMapper extends BaseMapperImpl<UserBean> {@Override@Insert("INSERT INTO `tb_user` (`NAME`, `AGE`) VALUES (#{name},#{age})")@ResultType(UserBean.class)int saveD(UserBean userBean);@Override@Delete("DELETE FROM `tb_user` WHERE `ID`=#{id}")int deleteD(Integer id);@Override@Update("UPDATE `tb_user` SET  `NAME`=#{name}, `AGE`=#{age} WHERE `ID`=#{id}")int updateD(UserBean userBean);}

做测试dao层:

package com.j.ssm.dao;import com.j.ssm.SsmApplication;
import com.j.ssm.bean.UserBean;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;//springboot测试
@RunWith(SpringRunner.class)
@SpringBootTest(classes = SsmApplication.class)
class UserMapperTest{@Autowiredprotected UserMapper userMapper;/*** 测试mapper--insert----xml方式----注解方式*/@Testvoid saveD() {System.out.println("start-mapper");UserBean userBean=new UserBean();userBean.setAge(21);userBean.setName("test-注解");int a=userMapper.saveD(userBean);System.out.println("test-mapper-success---------"+a);}
}

然后是mapper.xml配置(插入)–可选

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.j.ssm.dao.UserMapper"><!--    <select id="save" resultType="com.j.ssm.bean.UserBean">--><!--     SELECT  id,name,age FROM  student WHERE  id=#{id}--><!--    </select>--><!--    程序id-*-*-主键-自增-->
<!--    parameterType="com.j.ssm.bean.UserBean"-->
<!--    parameterType="com.j.ssm.bean.UserBean"--><insert id="saveD"  statementType="PREPARED"keyProperty="id" useGeneratedKeys="true">INSERT INTO `tb_user` (`NAME`, `AGE`) VALUES (#{name},#{age});</insert></mapper>

application.properties(完成对mybatis,内置tomcat配置)

#数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/ssmsp?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
#这已经过时了。 新的驱动程序类是‘ com.mysql.cj.jdbc.driver'。 驱动程序通过 spi 自动注册,手动加载驱动程序类通常是不必要的。
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql
##日志配置
#logging.level.org.springframework=DEBUG
#spring.output.ansi.enabled=DETECT
##logging.path=E:\warehouse
#logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
#logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n
#tomcat配置
server.port=8080
#server.context-path=/springboot
#spring.resources.static-locations=classpath:/templates/
#server.servlet-path=/springboot
#mybatis配置
#mybatis.mapper-locations=classpath*:mapper/*.xml     #选择注解模式。
mybatis.type-aliases-package=com.j.ssm.bean

web.xml
这是springmvc在某些非controller三层的地方获取request的方法

 <listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener>

封装的方法

 /*** 获取request** @return HttpServletRequest*/public static HttpServletRequest myGetRequest() {ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();return requestAttributes.getRequest();}/*** 获取response** @return HttpServletResponse*/public static HttpServletResponse myGetResponse() {ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();return requestAttributes.getResponse();}

还有泛型类的编写,放到下篇文章写。

超全流程-idea对springboot+ssm的部署实现增删改查相关推荐

  1. java ssm框架做增删改查,使用SSM框架组合实现增删改查的功能

    基于ssm框架组合的增删改查功能 ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表: CREATE DATABASE `ssmteam` /*!401 ...

  2. springboot(测试类)整合mybatisplus增删改查

    文章目录 下载地址 1.创建springboot项目(Spring Initializer快速创建) 2.配置文件,数据库等 3.配置,策略,实体类 4.增删改查 查询 查询全部 查询-根据id批量查 ...

  3. SSM整合--简单的增删改查--修改用户信息

    SSM整合--简单的增删改查 修改用户信息 修改用户信息 ## 根据id查找用户信息,显示在employ_update页面 ## 进行修改信息后,提交表单,保存数据### 1.根据id查询用户信息 h ...

  4. 进入全屏 nodejs+express+mysql实现restful风格的增删改查示例

    首先,放上项目github地址:https://github.com/codethereforam/express-mysql-demo 一.前言 之前学的java,一直用的ssm框架写后台.前段时间 ...

  5. springboot+springm vc+mybatis实现增删改查案例!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 最近这几天都在看关于springboot的内容,每天新会获得点新收获,并且都总结发在公众号中:最后经过不懈努力,不断查找相关网页,解决各种 ...

  6. SSM整合_实现增删改查_查找

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  7. springboot整合IDAP,实现增删改查

    看了网上很多资料,大多是用于查询认证.增删改很少,特在此整理一下.供大家学习. 注:前置条件,ad域证书已经导入到jdk(大家可以查看我另一篇关于ad证书导入到jdk中) 1.idea创建spring ...

  8. SpringBoot+Mybatis+swagger2 简单的增删改查

    SpringBoot+Mybatis+swagger2 开门见山,直接上教程吧,开发工具用idea 步骤 创建一个SpringBoot 项目 加入一些依赖 创建完成后查看一下代码结构,这里面有我自己新 ...

  9. 整合SSM (用户的增删改查)

    环境 IDEA Mysql 8.0.15 Tomcat 9 Maven 目的 为加深MySql数据库,Spring,javaWeb以及Mybatis知识,学习一些简单的前端知识 数据库环境 创建一个存 ...

最新文章

  1. Python 3 文件和字符编码
  2. 独家 | 盘点9个适用所有学科的R数据可视化包(附链接)
  3. 中科大 计算机网络1 课程主要内容大概介绍
  4. java cache教程_Java 中常用缓存Cache机制的实现
  5. golang生成随机定长的验证吗
  6. oracle 分表和分区哪个好_互联网大厂有哪些分库分表的思路和技巧?
  7. iPhone 12 mini被质疑锁屏触摸不灵
  8. C#获取网上图片的宽高代码
  9. 基于机器视觉的玻璃Mark点字符识别
  10. C# async await
  11. Bailian4073 最长公共字符串后缀【文本处理】
  12. UpdatePanelAnimation
  13. 海量数据挖掘MMDS week7: 相似项的发现:面向高相似度的方法
  14. 一入职!就遇到上亿(MySQL)大表的优化....
  15. 优化mac触摸板(Trackpad)使用体验的推荐设置
  16. 显微镜下的大明内容_《显微镜下的大明》读后感1000字
  17. 电脑蓝屏的几种状况处理
  18. linux安装nebula
  19. c语言自动贩卖机找钱,c语言趣题之“找钱的方法数量 ”
  20. 作为技术宅的我,是这样追鬼滅の刃的

热门文章

  1. python的rsa公钥解密方法
  2. mysql数据库的系统操作基本操作
  3. 解决python3与python2的pip命令冲突问题冲突(window版)
  4. 原型设计(结对第一次)
  5. Android 带有字数统计的 TextInputLayout
  6. phpmyadmin #1045 - Access denied for user 'root'@'localhost' (using password: NO)
  7. 用UltraEdit判断打开文件的编码类型 用UltraEdit或notepad记事本查看文件编码格式 用UltraEdit查看当前文件编码...
  8. Oracle中DUMP转储方法
  9. 继承 :5、程序设计 类:汽车类 属性:排量(outPut),颜色(color) 行为:驾驶(drive)
  10. 科技公司预备持jiu战:谷歌将允许员工在2021年7月前居家办公