zoukankan      html  css  js  c++  java
  • 注解开发

    注解开发

    使用注解开发

    1. 注解在接口上实现

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

      <mapper class="cn.pinked.dao.UserMapper"/>
      
    3. 测试

      @Test
          public void getUser() {
              SqlSession sqlSession = MybatisUtils.getSqlSession();
              UserMapper mapper = sqlSession.getMapper(UserMapper.class);
              List<User> userList = mapper.getUser();
              for (User user : userList) {
                  System.out.println(user);
              }
              sqlSession.close();
          }
      
    • 本质:反射机制实现

    • 底层:动态代理

    CRUD

    可以在工具类创建时实现自动提交事务

    public static SqlSession getSqlSession() {
        return sqlSessionFactory.openSession(true);
    }
    

    编写接口

    public interface UserMapper {
        @Select("select * from user")
        List<User> getUser();
    
        @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);
    
        @Delete("delete from user where id = #{id}")
        int deleteUser(@Param("id") int id);
    }
    

    测试类

    SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
    //        List<User> userList = mapper.getUser();
    //        for (User user : userList) {
    //            System.out.println(user);
    //        }
    //
    //        User user = mapper.getUserById(3);
    //        System.out.println(user);
    //
    //        int res = mapper.addUser(new User(5, "王五", "123456"));
    //
    //        int res = mapper.updateUser(new User(5, "王大五", "12345"));
    //
    //        mapper.deleteUser(5);
    
            sqlSession.close();
    

    关于@Param()注解

    • 基本类型的参数或者String类型需要加上
    • 引用类型不需要加
    • 如果只有一个基本类型的话可以忽略
    • 在SQL中应用的是@Param("uid")中设定的属性名
  • 相关阅读:
    liunx配置jdk
    liunx 用户修改文件打开数
    goolge安装插件
    安装解压版MySQL 5.6.35
    Windows7 搭建ftp 服务
    eclipse 搭建Swt 环境
    注释正则表达式
    java excle导出合计字段值
    liunx 字符编码问题
    FreeIPA ACI (Access Control Instructions) 访问控制说明
  • 原文地址:https://www.cnblogs.com/pinked/p/12175580.html
Copyright © 2011-2022 走看看