超全流程-idea对springboot+ssm的部署实现增删改查
由于前段時間完成期末項目,在期末學科里也學到很多,但這里不書寫接近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的增刪改查。
啟動類:
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,在下面有介紹。
做測試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.beanweb.xml
這是springmvc在某些非controller三層的地方獲取request的方法
封裝的方法
/*** 獲取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的部署实现增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb实现单点登录,防止重复登录
- 下一篇: (有图片)汇编工具dosbox下自动mo