zoukankan      html  css  js  c++  java
  • Mybatis:(六)注解

    一、前言

    利用mybatis注解开发,就不需要mapper.xml文件了,只需要在核心配置文件中导入即可,提高了开发效率

    二、CRUD(注解)

    1. 查询

      1. 在接口中添加注解

        //查询全部用户
        @Select("select id,name,pwd password from user")
        public List<User> getAllUser();
        
      2. 在核心配置文件中导入

      3. 测试

    2. 增删改

    3. 改变utils工具类中的方法

    //获取SqlSession连接
    public static SqlSession getSession(){
        return getSession(true); //事务自动提交
    }
    
    public static SqlSession getSession(boolean flag){
        return sqlSessionFactory.openSession(flag);
    }
    //注意:确保实体类和数据库字段对应
    
    1. 编写Mapper接口
    //添加一个用户
    @Insert("insert into user (name,pwd) values (#{name},#{pwd})")
    int addUser(User user);
    
    1. 测试
    @Test
    public void testAddUser() {
        SqlSession session = MybatisUtils.getSession();
        UserMapper mapper = session.getMapper(UserMapper.class);
    
        User user = new User("路飞", "123456");
        mapper.addUser(user);
        session.close();
    }
    
    ## 三、mybatis详细执行流程
    

    四、@param

    • 使用技巧

      • 在方法只有一个参数的情况下,可以不使用@Param
      • 方法有多个参数的情况下,建议使用@Param注解给参数命名
      • 如果参数是 JavaBean , 则不能使用@Param。
      • 不使用@Param注解时,参数只能有一个,并且是Javabean。

    五、#{}与${}的区别

    • #{} 会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
    • ${} 把 ${ } 替换成变量的值,完成的是简单的字符串拼接。
    • mybatis中使用#{}可以防止sql注入,提高系统安全性。
  • 相关阅读:
    PouchContainer Goroutine Leak 检测实践
    CDN全站加速助力企业云上升级
    互联网架构如何促进数字化营销
    设计模式之模板方法
    设计模式之外观模式
    设计模式之适配器模式
    分布式理论(一)CAP 理论
    边缘计算基本概念
    MQTT实战之MQTT入门
    高性能NIO通信框架之Netty架构总结(1)
  • 原文地址:https://www.cnblogs.com/dreamzone/p/12354905.html
Copyright © 2011-2022 走看看