笔记

2、使用Mybatis注解开发视频列表增删改查
    讲解:使用Mybatis3.x注解方式 增删改查实操, 控制台打印sql语句
    
        1、控制台打印sql语句        
            #增加打印sql语句,一般用于本地开发测试
            mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

2、增加mapper代码        
                       @Select("select * from video")
                //    @Results({
                //            @Result(column = "cover_img",property =     
                    "coverImg"),
                //            @Result(column = "create_time",property =     
                    "createTime")
                //    })
                    List<Video> findAll();
                    @Select("SELECT * FROM video WHERE id = #{id}")
                    Video findById(int id);
                    @Update("UPDATE video SET title=#{title} WHERE id =#{id}")
                    int update(Video Video);

@Delete("DELETE FROM video WHERE id =#{id}")
                    int delete(int id);

@Insert("INSERT INTO `video` ( `title`, `summary`, " +
                        "`cover_img`, `view_num`, `price`, `create_time`," +
                            " `online`, `point`)" +
                        "VALUES" +
                        "(#{title}, #{summary}, #{coverImg}, #{viewNum}, #{price},#{createTime}" +
                        ",#{online},#{point});")
                @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")
                int save(Video video);

3、保存保存
          技巧:保存对象,获取数据库自增id 
                 @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")

4、技巧:
             数据库字段下划线和Java实体类映射
              # mybatis 下划线转驼峰配置,两者都可以
            #mybatis.configuration.mapUnderscoreToCamelCase=true
            mybatis.configuration.map-underscore-to-camel-case=true

开始

把获取到的json格式化 发现有些值是空的

数据库里面的字段是有值的

主要原因是数据内是下划线。实体类里面是驼峰的形式
使用@Result注解映射

这样字段就有值了

如果字段比较多的情况,每次都要写一遍映射就很麻烦。例如create_time这个字段也是需要映射的

映射的技巧

4、技巧:
             数据库字段下划线和Java实体类映射
              # mybatis 下划线转驼峰配置,两者都可以
            #mybatis.configuration.mapUnderscoreToCamelCase=true
            mybatis.configuration.map-underscore-to-camel-case=true

复制到配置文件里面

再次直接访问

img已经自动映射了。但是createTime还有自动映射上。

数据库本身就没有值,需要把数据库内线加上值


所以只要开启下划线转驼峰就可以 不用再写映射

再定义findById的方法

更新和删除的方法

开发Service层

可以直接从mapper类里面复制过来这些方法的定义

service的实现类。实现接口内的方法

@Servie表示它是一个业务类。注入videoMapper


更细和删除修改返回类型为int类型



更新用了PutMapping

postman测试


先用get方式删除试试
提示这个接口不支持get方式提交。

修改为Delete的方式提交数据

更新的语句错了


数据库内给更新成功了。

控制台打印sql语句

1、控制台打印sql语句        
            #增加打印sql语句,一般用于本地开发测试
            mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl


insert方法



先保存一个title测试



看错误 这里两个问号连在一起

再次保存测试

数据库内有值了

控制台打印的sql语句

获取主键ID


 3、保存保存
          技巧:保存对象,获取数据库自增id 
                 @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")



数据库内

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查的更多相关文章

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_汇总

    2018年Spring Boot 2.x整合微信支付在线教育网站高级项目实战视频课程 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在 ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍

    笔记 第一章项目介绍和前期准备 1.SpringBoot整合微信支付开发在线教育视频站点介绍     简介: 课程介绍,和小D课堂在线教育项目搭建开发 1.课程大纲介绍         2.微信支付项 ...

  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍

    笔记 1.数据信息安全--微信授权一键登录功能介绍 简介:讲解登录方式优缺点和微信授权一键登录功能介绍         1.手机号或者邮箱注册             优点:              ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计

    笔记 3.在线教育站点需求分析和架构设计     简介:分析要开发的功能点和系统架构应该怎样架构 1.开发的功能:                     首页视频列表                ...

  5. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-2.申请微信支付介绍和不同场景的支付方式

    笔记 2.申请微信支付介绍和不同场景的支付方式         简介:介绍微信商户平台,支付方式和使用场景,申请微信支付流程                  1.什么是微信商户平台:        ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息

    笔记 8.用户模块开发之保存微信用户信息     简介:开发User数据访问层,保存微信用户信息 问题:             微信回调 用户昵称乱码             解决:        ...

  7. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-3.微信网站扫码支付介绍

    笔记 3.微信网站扫码支付介绍     简介:讲解微信网页扫码支付         1.扫码支付文档:https://pay.weixin.qq.com/wiki/doc/api/native.php ...

  8. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_6-1.常用的第三方支付和聚合支付介绍

    笔记 第六章 开发在线教育视频站点核心业务之从零基础接入 微信扫一扫网页支付 1.常用的第三方支付和聚合支付介绍     简介:介绍常用的第三方支付和聚合支付 1.什么是第三方支付         第 ...

  9. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-7.授权登录获取微信用户个人信息实战

    笔记 7.授权登录获取微信用户个人信息实战         简介:讲解使用授权码code获取用户个人信息接口 关键点:看微信文档,字段尽量用拷贝 1.通过code获取access_token      ...

  10. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock

    笔记 6.微信扫码登录回调本地域名映射工具Ngrock         简介:讲解微信扫码回调本地域名ngrock讲解 1.为什么要用这个,微信扫码需要配置回调,需要配置对应的域名          ...

随机推荐

  1. Maven 依赖的作用域

    Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了 ...

  2. 06_Hive分桶机制及其作用

    1.Clustered By 对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分. Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后 ...

  3. socket 多线程安全、粘包问题

    脚本如下: # -*- coding:utf-8 -*- ''' @Author: Stefan @File: server_listener.py @Date: 2016-11-09 If you ...

  4. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval

    ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询 ...

  5. Java调用和回调总结(2)

    Java调用和回调总结(2) 调用的种类 调用有3种, 普通调用(同步调用), 异步调用, 异步回调. 三种调用的特点 普通调用: 也叫做同步调用 , 最常见的调用, 会造成阻塞. 异步调用 : 异步 ...

  6. 埋点(Event Tracking)vs 无埋点(Codeless Tracking) vs 可视化埋点(Visual Event Tracking)

    在理解什么是埋点之前,首先需要了解一些基础知识:(以下摘自:http://www.chinawebanalytics.cn/auto-event-tracking-good-bad-ugly/) 我们 ...

  7. Linq 分组查询

    根据部门分组 ,然后存储部门下所有员工 public class Custom { public string dname { get; set; } public List<Employees ...

  8. HDU 6068 - Classic Quotation | 2017 Multi-University Training Contest 4

    /* HDU 6068 - Classic Quotation [ KMP,DP ] | 2017 Multi-University Training Contest 4 题意: 给出两个字符串 S[ ...

  9. 【redis 学习系列08】Redis小功能大用处02 Pipeline、事务与Lua

    3.Pipeline 3.1 Pipeline概念 Redis客户端执行一条命令分为如下四个过程: (1)发送命令 (2)命令排队 (3)命令执行 (4)返回结果 其中(1)和(4)称为Round T ...

  10. django 快速搭建blog(三)

    http://www.cnblogs.com/fnng/p/3737964.html 引用自此博客 创建blog的公共部分 从Django的角度看, 一个页面 具有三个典型的组件: 一个模板(temp ...