用注解实现CRUD
声明
本文为其他博主文章总结,仅用作个人学习,特此声明
参考文章链接
(3条消息) 狂神说 | Mybatis完整版笔记_小七rrrrr的博客-CSDN博客_狂神说mybatis笔记
注解实现 CRUD
这样做的好处是不需要给CRUD方法注册映射
需要特别注意的是虽然不需要给方法注册映射,但是需要将接口绑定注册到mybatis-config.xml
我们可以在工具类创建的时候实现自动提交事务
-
在MybatisUtils中的openSession 设置为true自动提交
public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true); }
-
编写接口,增加注解
package com.xy.dao; import com.xy.pojo.User; import org.apache.ibatis.annotations.*; import java.util.List; public interface UserMapper { /* @Param是MyBatis所提供的(org.apache.ibatis.annotations.Param),作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应,一般在2=<参数数<=5时使用最佳。 */ @Select("select id,name,pwd as password from mybatis.users where id = #{id}") User getUserById(@Param("id") int id); @Insert("insert into mybatis.users(id,name,pwd) values (#{id},#{name},#{pwd})") int addUser(User user); @Update("update mybatis.users set name = #{name},pwd = #{pwd} where id = #{id}") int updateUser(User user); @Delete("delete from mybatis.users where id = #{id}") int deleteUser(@Param("id") int id); }
-
测试代码【我们必须要将接口绑定注册到核心配置文件中mybatis-config.xml】
-
由id选择用户 select by id
@Test public void getUserById(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User userById = mapper.getUserById(1); System.out.println(userById); }
-
增加数据 insert
@Test public void addUser(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.addUser(new User(6,"hhhh","123456")); }
-
删除数据 delete
@Test public void deleteUser(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.deleteUser(6); }
-
修改数据 update
@Test public void updateUser(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.updateUser(new User(5,"xy","123456789")); }
-
关于 @param 注解
- 基本类型的参数或者String类型,需要加上
- 引用类型不需要加
- 如果只有一个基本类型的话,可以忽略,但是建议都加上
- 我们在SQL中引用的就是我们在@Param("")中设定的东西
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律