Mybatis(8) 使用注解开发

8.使用注解开发

    8.1 面向接口编程

 

    8.2 使用注解开发

       1.注解在接口上实现

@Select("select *from mybatis.user")
List<User> getUsers();

       2.需要再核心配置文件中绑定接口

<mappers>
   <mapper class="com.luo.dao.UserMapper"></mapper>
</mappers>

       3.测试

@Test
public void test(){

    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);

    List<User> users = mapper.getUsers();
    for (User user:users) {
        System.out.println(user.toString());
    }
}

       本质是:反射机制

       底层是:动态代理

    8.3 注解增删改查

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

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

       编写接口

//查询所有用户
@Select("select *from mybatis.user")
List<User> getUsers();
//根据id查询用户  ,有多个用户的时候要用@Param
@Select("select id,name from mybatis.user where id =#{id}")
User getUsersById(@Param("id") int id);
//增加用户
@Insert("insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{password})")
int addUsers(User user);
//修改用户
@Update("update mybatis.user set pwd=#{password} where id=#{id}")
int updateUsers(HashMap<String,Object> map);
@Delete("delete from mybatis.user where id=#{id}")
//删除用户
int deleteUsers(int id);

       测试类

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

      

       关于@Param()注解

l  基本类型的参数或者String类型,需要加上

l  引用类型不需要加上

l  如果只有一个基本类型的话,可以忽略,但是建议还是加上

 

${} 和 #{}    #{}可以防止sql注入 所有都用#{}

 

posted @ 2022-04-11 16:42  十三加油哦  阅读(34)  评论(0)    收藏  举报