首页 > 微信 > 详细

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

时间:2019-09-05 14:37:29      阅读:199      评论:0      收藏:0      [点我收藏+]

笔记


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注解开发视频列表增删改查

原文:https://www.cnblogs.com/wangjunwei/p/11465402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!