笔记

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. cnblogs排版样式预览

    说明:关于本博主题及样式来源于[GitHub]:本博总体排版目录样式风格参照博文[修仙成神之路]进行预览:参照本博设置可参考博文[设置跟本博一样的效果]本博之前发表过的博文存在样式不协调,后期会逐一完 ...

  2. Vue介绍:vue项目搭建

    一.环境搭建 二.项目创建 三.认识项目 四.项目功能 一.环境搭建 *安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ *安装cnpm npm insta ...

  3. 01_Hive简介及其工作机制

    1.Hive简介 Hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一个表.并提供类SQL查询功能, 可以将sql语句转换为MapReduce任务运行.其优点是学习成本低, ...

  4. GetHashCode之于引用类型和值类型及其特性

    GetHashCode 方法可由派生类型重写.如果 GetHashCode 未重写,则通过调用基类的 Object.GetHashCode 方法来计算引用类型的哈希代码. 引用类型:Object.Ge ...

  5. 关于join() 是否会释放锁的一些思考

    # 首先从一个很有意思的问题开始: - 问 : Thread 的join() 方法是否会释放锁? - 答: 会! # 如果一切到这里就结束了,那可能也就没有这篇小记了,但是我的脑子却冒出了一些奇怪的想 ...

  6. cas多方式登录相关知识点的总结

    知识点: cas多表单登录(在用户名,密码的基础上,增加短信验证码登录) 自定义认证策略 自定义字段添加为空校验的错误信息 Controller层接口的调用 一:场景 项目涉及到的业务是,在原cas用 ...

  7. JavaScript 基础知识梳理——数据类型

    JavaScript的数据类型公有六种,ES6又新增了第七种Symbol类型的值. 数值(number) 字符串(string) 布尔值(boolean) undefined null 对象(obje ...

  8. 冒泡排序Bubble_Sort

    基本原理:对于冒泡排序来说,基本思想是从第一个元素开始,数组中的数据依次和它后面相邻的数据进行比较,即1和2比较,2和3比较,a和a+1比较,直到倒数第二位和倒数第一位的比较,如果顺序不对就进行交换, ...

  9. hbase实践之rowkey设计

    rowkey设计的重要性 rowkeys是HBase表设计中唯一重要的一点. rowkey设计要求 唯一性 存储特性 按照字典顺序排序存储 查询特性 由于其存储特性导致查询特性: 查询单个记录: 查定 ...

  10. 利用python deque的extend特性实现列表元素查重

    from collections import deque mydquene = deque() mylist = [0,1,1,2,2,3,3,3,3,4,5,6,7,7,8,8,9,10,10,1 ...