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”)中设定的属性名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix