对四篇教程的学习.md

您所在的位置:网站首页 服务器数据库端口在哪里查看的 对四篇教程的学习.md

对四篇教程的学习.md

2023-06-17 21:46| 来源: 网络整理| 查看: 265

第一篇: SPRINGBOOT系列教材 (一)- 基础 - SPRINGBOOT入门-在ECLIPSE中创建跑得起来的SPRINGBOOT项目,非STS插件方式

一.引言 1.SpringBoot是什么,和ssm相比有什么优势?

Spring Boot是一个开源的Java Web框架,用于通过Java搭建Web应用; 优势:

简化配置。ssm需要引入一大堆jar包配置SpringMVC, Spring, Mybatis的环境,而Spring Boot则帮我们配好,专注于应用本身内嵌服务器:Spring Boot直接内嵌一个服务器,如Tomcat等,所以无需再手动打开Tomcat

文章地址:SPRINGBOOT系列教材 (一)- 基础 - SPRINGBOOT入门-在ECLIPSE中创建跑得起来的SPRINGBOOT项目,非STS插件方式

标题都好理解,除了最后一句,STS插件方式是什么? STS(Spring Tools Suite)是基于Eclipse的开发环境,用于开发Spring应用程序。

二. 1~4步

前四步都是一些版本,插件问题,到第五步才开始写项目。 反正迄今为止eclipse, Tomtact,jar包啥的都是从how2java网站上下载的,应该不会有版本问题。

三. 先运行,看到效果,再学习

此处导入项目的方式与之前有点区别。之前是直接import已有项目就完了,此处由于是Maven,有专门的方法。参考MAVEN系列教材 (十一)- 使用ECLIPSE导入一个MAVEN风格的SSM项目

此处遇到一些困难;比如8080端口被占用,我就把原先tomcat中的项目移出;比如益处后访问http://127.0.0.1:8080/hello还是404, 我就重启了一下eclipse, 然后才成功。 image

四.创建项目并输入项目参数

这两步就照着网站上的描述做就可以了。需要注意的是得先把三中的项目给退掉。

五.pom.xml

pom.xml指定了当前项目用到的jar包,然后由Maven找到所有的包。 pom.xml的主要作用是定义本项目的配置和依赖。 配置就是Spring Boot需要的一大堆jar包,而每一个会指定一个特定的jar包。配置和依赖的相同点都是指定jar包,然后让Maven自动下载并管理这些jar包。

六. Appllication.java

这是本项目的主方法,运行时会自动打开tomcat, 默认端口8080。由于导入的项目用的端口也是8080, 所以有必要先把原来的项目退出。

七.HelloController.java

这是一个控制器类,类中定义了一个方法返回Hello Spring Boot!, 也就是url地址返回的结果。

测试

image

第二篇: SPRINGBOOT系列教材 (十四)- 持久层支持 - SPRINGBOOT中如何运用MYBATIS 简单例子

一. 1~4 创建数据库,数据表等准备操作

image

二. 先运行,看到效果,再学习

导入时还是以Maven导入 image

三. application.properties spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp spring.datasource.url=jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=admin spring.datasource.driver-class-name=com.mysql.jdbc.Driver

本文件的主要作用是指定数据库是how2java, 用户名以及密码。

四. pom.xml

配置文件就是为Spring Boot提供各种配置和依赖。相比与上一个项目,本项目还用到了Mybatis和Mysql, 因此新增对这两个技术的依赖。

org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 mysql mysql-connector-java 5.1.21 五. Category

Category对应着category_表的一行,在这个类中定义in, name两个变量以及它们的get和set方法 image

六. CategoryMapper package com.how2java.springboot.mapper; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import com.how2java.springboot.pojo.Category; @Mapper public interface CategoryMapper { @Select("select * from category_ ") List findAll(); }

首先interface表明这是一个接口,@Mapper指定接口类型,@Select调用findAll()方法,执行SQL语句。 所以说,调用findAll()方法是再CategoryMapper里面写,通过执行List findAll();在其他文件里面写的SQL语句。

七. CategoryController

在CategoryMapper中有一行代码List findAll();

在CategoryController中通过

List cs=categoryMapper.findAll();接受listCategory映射m.addAttribute("cs", cs);获取所有的分类数据并放入Model中return "listCategory"; 跳转到listCategory

所以CategoryMapper相当于老板,老板提要求要做findAll()函数,CategoryController就去具体实施,然后用listCategory这个ppt展现成果。

八. listCategory.jsp id name ${c.id} ${c.name}

表头是id和name, 表的实际内容用遍历categoryController传递过来的集合cs, 代码:, 集合是cs, 单条数据是c,每次遍历输出c的id和name。

九. 测试

image

第三篇: SPRINGBOOT系列教材 (十五)- 持久层支持 - MYBATIS-XML方式

本教程用Mybatis加xml写SQL语句操作数据库。 上一篇是用Mybatis注解方式。

一. 先运行,看到效果,再执行

效果: image

二. CategoryMapper 原先的Mybatis注解方式中CategoryMapper是这样写的,核心代码如下: @Mapper public interface CategoryMapper { @Select("select * from category_ ") List findAll(); } 现在的Mybatis加xml方式中的CategoryMapper去掉了sql语句的注解,核心代码如下: @Mapper public interface CategoryMapper { List findAll(); }

可以看到,相比于Mybatis注解方式,Mybatis加xml省去了@Select这个注解。

三. Category.xml

原来的Mybatis注解方式是不需要Category.xml文件的,因为 @Select("select * from category_ ")就是Mybatis在Mapper中自由得写 SQL语句的体现。

现在的Mybatis加xml方式新增了Category.xml文件,在这个文件里写SQL语句。其实就是实现了Mapper与SQL语句的分离。 (BTW,我觉得还不如Mybatis注解方式来的直观)

核心代码如下:

select * from category_ id="findAll"表明本标签实现的是findAll()方法,resultType="Category"表明标签返回的对象是Categor这个实体类 四. application.properties

相比于Mybatis注解方式中的applicatjion.properties, Mybatis加xml方式新增了两行代码,新增后的整个文件的代码如下:

spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp spring.datasource.url=jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=admin spring.datasource.driver-class-name=com.mysql.jdbc.Driver mybatis.mapper-locations=classpath:com/how2java/springboot/mapper/*.xml mybatis.type-aliases-package=com.how2java.springboot.pojo

先指明要操作数据库是how2java, 并给出用户名和密码,新增的两行的作用是指明需要到哪去找xml文件,并指定别名。 因为新增的Category.xml文件是和CategoryMapper一个包,都在mapper包下,所以需要到mapper包中找xml文件。

mybatis.type-aliases-package=com.how2java.springboot.pojo运行开发者在Category.xml中使用该包中类的简单名称去 配置这些类。 具体来讲,在Category.xml中,resultType="Category"中的Category就是Category.java的简单名称。

五. 测试

image

第四篇:SPRINGBOOT系列教材 (十七)- CRUD+分页 - SPRINGBOOT使用MYBATIS实现完整的 增删改查 CRUD和分页

一.Mybatis CRUD和分页 Mybatis可以用来直接在Mapper中(Mybatis注解方式)写SQL语句实现增删改查分页用Mybatis中的插件PageHelper实现。文章参考PageHelper插件 二. 先运行,看到效果,再执行

image

三. pom.xml

pom.xml就是用来支持整个SpringBoot项目的配置和依赖的。由于本项目使用到了PageHelper,所以有必要在pom.xml中添加相应的依赖。 具体代码如下:

com.github.pagehelper pagehelper 4.1.6 四.PageHelperConfig

本文件用来配置PageHelper插件的具体参数,比如页码,计数,合理性等。 核心代码如下:

@Configuration // 表明这是一个配置文件 public class PageHelperConfig { @Bean // 说明本PageHelper将会创建并且配置一个实体类 public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); pageHelper.setProperties(p); return pageHelper; } } 五. CategoryMapper

核心代码:

@Mapper public interface CategoryMapper { @Select("select * from category_ ") List findAll(); @Insert(" insert into category_ ( name ) values (#{name}) ") public int save(Category category); @Delete(" delete from category_ where id= #{id} ") public void delete(int id); @Select("select * from category_ where id= #{id} ") public Category get(int id); @Update("update category_ set name=#{name} where id=#{id} ") public int update(Category category); }

显然,此处直接用了Mybatis注解方式来写SQL语句。

六. CategoryController

就如同上一篇讲的,Mapper是老板,只提方法,剩下的具体实现交给员工Controller。 在具体的实现上,先为Controller添加增删改查的映射,然后修改查询的映射,再给pageHelper的具体参数赋值, 最后返回listCategory显示页码效果。

核心代码如下:

@Controller public class CategoryController { @Autowired CategoryMapper categoryMapper; @RequestMapping("/addCategory") public String listCategory(Category c) throws Exception { categoryMapper.save(c); return "redirect:listCategory"; } @RequestMapping("/deleteCategory") public String deleteCategory(Category c) throws Exception { categoryMapper.delete(c.getId()); return "redirect:listCategory"; } @RequestMapping("/updateCategory") public String updateCategory(Category c) throws Exception { categoryMapper.update(c); return "redirect:listCategory"; } @RequestMapping("/editCategory") public String listCategory(int id,Model m) throws Exception { Category c= categoryMapper.get(id); m.addAttribute("c", c); return "editCategory"; } @RequestMapping("/listCategory") public String listCategory(Model m,@RequestParam(value = "start", defaultValue = "0") int start,@RequestParam(value = "size", defaultValue = "5") int size) throws Exception { PageHelper.startPage(start,size,"id desc"); List cs=categoryMapper.findAll(); PageInfo page = new PageInfo(cs); m.addAttribute("page", page); return "listCategory"; } } 七.listCategory.jsp

就是在原来的基础上新增了对分页进行控制的相关代码

[首 页] [上一页] [下一页] [末 页] 八. editCategory.jsp

listCategroy.jsp用来写表格主体,editCategory.jsp用来写name和提交按钮。

name: 提交 九.测试

image



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3