SpringBoot学习笔记

1. 注解 @Serializable

在封装对象的时候使用import java.io.Serializable;中实现接口***Serializable***的意义:
(1)对数据进行序列化;(序列化就是变成二进制流
(2)便于数据传输,尤其是在远程调用的时候!

2. 注解 @Entity

导入依赖:`

<dependency>
    <groupId>javax.persistence</groupId>
    <artifactId>persistence-api</artifactId>
    <version>1.0</version>
</dependency>

@GeneratedValue注解 存在的意义主要就是为一个实体生成一个唯一标识的主键
@ID 表示主键
@Column注解 来标识实体类中属性与数据表中字段的对应关系。

@Service 是用在接口的实现类上的保证bean的创建

继承JpaRepository时需要导入依赖:

    <!--导入JPA  数据持久化组件-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

使用@RequestMapping注解时需要导入依赖


    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

@RestController和@Controller的区别

RestController的内容会被网页所显示

用了Controller之后数据将无法在网页显示。

@Data

使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了

@AllArgsConstructor

使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数

@NoArgsConstructor

使用后创建一个无参构造函数

出现端口被占用情况:

netstat -ano
 tasklist | findstr "7676"
  taskkill /f /t /im  ApplicationWebServer.exe

使用模板引擎

才能访问templete的html静态页面

<dependency>
			<groupId>org.thymeleaf</groupId>
			<artifactId>thymeleaf-spring5</artifactId>
		</dependency>
		<dependency>
			<groupId>org.thymeleaf.extras</groupId>
			<artifactId>thymeleaf-extras-java8time</artifactId>
		</dependency>

出现url访问出错
在这里插入图片描述
把4改成5在这里插入图片描述

thymeleaf使用

在html文件中引用命名空间

xmlns:th="http://www.thymeleaf.org"

语法使用
取数组:<div th:each="user:${users}" th:text="${user}"></div>

在最新版本的Springboot中的Pageable对象更改问题

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

原来是 Pageable pageable = new PageRequest(pageNo, pageSize);

现在是 Pageable pageable = PageRequest.of(pageNo,pageSize);

mybatis的使用

1:到网站找导入依赖
2:使用@Mapper注解,表示这是mybatis的mapper类,属于dao
3:使用@Repository,

出现错误

1 文档根元素 “mapper” 必须匹配 DOCTYPE 根 “configuration”。

更改xml头部引用

`<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">`
2.错误 在向数据库插入数据时
There is no getter for property named 'user' in 'class com.learn.store.pojo.user'

因为Mapp层的方法里没有写注解参数比如:

    int create(@Param("user") user user);

mybatis分页查询pageHelper的使用

第一步:导入依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
        </dependency>

第二部:配置文件properties

pagehelper.helper-dialect=mysql   //配置数据库类型
pagehelper.reasonable=false    //该字段为false时,页码在大于最后一页的时候返回空

第三步:在控制器中使用:

    @ResponseBody
    @RequestMapping("/all.do")
    public ResultBean<List<product>> getAllProduct(int pageNo, Integer pageSize)
    {

					
        PageHelper.startPage(pageNo, pageSize);      //分页功能只对下面的第一个查询语句进行分页。pageNo为第几页,			     pageSize为每页数据个数
        List<product> products = productMapper.findAllProduct();
        return new ResultBean<>(products);

    }

对于jQuery中 pagination表格分页+Mybatis的分页插件PageHelper的使用

$("#Pagination").pagination(,{ })
该函数中的两个参数 第一个是数据的总条数,
第二个是一些参数的设定。
因为分页参数大多数都在后端,所以前端不需要设置太多 只要一个回调函数即可

**这里最需要注意的是前端的  pagination  向后端发送页数时是从0开始的而PageHelper接收参数是从1开始的
如果不在后端不加1,会出现重复页。

**

 var pagetotal;
    $(function () {
        App.init();
        $.ajax({
            url: "/adminOrder/getTotal.do",
            type: "get",
            success: function (result) {
                if (result.state == 0) {
                    pagetotal = result.data;
                    $("#Pagination").pagination(pagetotal, {
                        // num_edge_entries: 1, //边缘页数
                        // num_display_entries: 5, //主体页数
                        callback: pageselectCallback,
                        // items_per_page: 15, //每页显示7项
                        prev_text: "前一页",
                        next_text: "后一页"
                    });
                } else {
                    alert(result.message);
                }
            }
        });
    });

后端分页代码。

 PageHelper.startPage(pageindex+1,pageSize);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值