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 @   十三加油哦  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示