Mybatis使用注解开发

Mybatis使用注解开发

1.使用注解开发

注解直接在接口上实现

@Select("select * from user ")
    List<User> getUser();

需要在核心配置中绑定接口!

<!--绑定接口-->
    <mappers>
        <mapper class="dao.UserMapper"/>
    </mappers>

测试

本质: 反射机制实现

底层: 动态代理!

2. 注解完成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);
//    @Param注解 基本类型都加<但是不是必须的>,加了就以注解为主
    @Insert("insert into user(id,name,pwd,sex)values(#{id},#{name},#{pwd},#{sex})")
    int addUser(User user);
    @Update("update user set name=#{name},pwd=#{pwd},sex=#{sex} where id =#{id}")
    int updateUser(User user);
    @Delete("delete from user where id=#{uid}")
    int deleteUser(@Param("uid") int id);

}

测试类

@Test
    public void test(){
        SqlSession sqlsession = MyBatisUntil.getSqlsession();
        //底层主要应用反射
        UserMapper mapper = sqlsession.getMapper(UserMapper.class);
    /*    for (User user : mapper.getUser()) {
            System.out.println(user);
        }*/
        /*User userById = mapper.getUserById(1);
        System.out.println(userById);*/
      /*  int i = mapper.addUser(new User(4, "万物", "123", "男"));
        System.out.println(i);*/
    /*    int i = mapper.updateUser(new User(4, "王五", "123", "男"));
        System.out.println(i);*/
//        int i = mapper.deleteUser(4);
        sqlsession.close();

    }

[注意: 将接口绑定到核心配置文件中]

关于@param()注解

  • 基本类型的参数或者String类型,需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型的话,可以忽略,但是建议加上
  • 在SQL中引用的就是@param(”Uiod”)中设定的属性名

{} ${}区别

{}可以很大程度上防止SQL注入

posted @   明眸清澈  阅读(54)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示