zoukankan      html  css  js  c++  java
  • Mybatis-05-使用注解开发

    使用注解开发

    1 面向接口编程

    原因:

    解耦、可扩展性、提高复用性

    关于接口的理解

    • 定义与实现的分离

    • 两类接口

      • 一个个体的抽象,abstract class

      • 一个个体某个方面的抽象,interface 

    三个面向:

    • 面向对象

    • 面向过程

    • 面向接口

    2 使用注解开发

    使用步骤:

    1. 注解在接口上实现

     @Select("select * from User")
     List<User> getUsers();
    1. 需要在核心配置文件中绑定接口

     <mappers>
         <mapper class="com.kuang.dao.UserMapper" />
     </mappers>
    1. 测试

    本质:反射机制实现

    底层:动态代理!

    8.3 注解实现CRUD

    1. 我们可以在工具类创建的时候实现自动提交事务

     //参数表示自动提交事务
     public static SqlSession getSqlSession(){
         return sqlSessionFactory.openSession(true);
     }
    1. 编写接口,添加注解

     public interface UserMapper {
     
         @Select("select * from User")
         List<User> getUsers();
     
         //多个参数情况下,必须加上@Param()注解
         @Select("select * from user where id=#{id}")
         User getUserById(@Param("id") int id);
     
         @Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
         int addUser(User user);
     
         @Update("update user set name=#{name},pwd=#{password} where id=#{id}")
         int updateUser(User user);
     
     }

    测试类

    注意:我们必须要将接口注册绑定到我们的核心配置文件中

    关于@Param()注解

    • 基本类型的参数或者String类型,必须加上

    • 引用类型不需要加

    • 如果只有一个基本类型的话,可以不加。

    • 在sql中引用的就是我们这里的注解中的属性

    #{ } 和${ }相比:最好用#{ }

  • 相关阅读:
    阻止事件传播的常用方法
    原生JS获取元素的位置与尺寸
    FileReader 与canvas结合使用显示图片
    dot.js使用心得
    时间格式转换
    JS对象操作
    vue-awesome-swipe 基于vue使用的轮播组件 使用(改)
    vscode 插件推荐
    chrome 发送请求出现:Provisional headers are shown 提示
    手机端
  • 原文地址:https://www.cnblogs.com/CodeHuba/p/13468890.html
Copyright © 2011-2022 走看看