• 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中引用的就是我们这里的注解中的属性

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

  • 相关阅读:
    Python_02
    iOS架构模式浅析
    Swift学习目录
    Flutter基础系列之混合开发(二)
    iOS性能优化
    Flutter基础系列之入门(一)
    iOS应用卡顿分析
    Weex是如何让JS调用产生原生UIView的?
    WeexSDK之注册Modules
    WeexSDK之注册Handlers
  • 原文地址:https://www.cnblogs.com/CodeHuba/p/13468890.html
Copyright © 2020-2023  润新知