博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查...
阅读量:4325 次
发布时间:2019-06-06

本文共 2141 字,大约阅读时间需要 7 分钟。

笔记

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")
数据库内
 

转载于:https://www.cnblogs.com/wangjunwei/p/11465402.html

你可能感兴趣的文章
关于typedef的用法总结(转)
查看>>
【strtok()】——分割字符串
查看>>
Linux下安装rabbitmq
查看>>
曹德旺
查看>>
【转】判断点在多边形内(matlab)
查看>>
java基础之集合:List Set Map的概述以及使用场景
查看>>
Python 线程 进程 协程
查看>>
iOS语言中的KVO机制
查看>>
excel第一次打开报错 向程序发送命令时出错 多种解决办法含终极解决方法
查看>>
响应式web设计之CSS3 Media Queries
查看>>
实验三
查看>>
机器码和字节码
查看>>
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
Centos 7 Mysql 最大连接数超了问题解决
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
C6748和音频ADC连接时候的TDM以及I2S格式问题
查看>>