8.注解开发
对于简单的数据库操作可以使用注解开发,对于复杂的数据库操作不推荐使用!!
mybatis 的常用注解:
@Insert:新增
@Update:更新
@Delete:删除
@Select:查询
@Result:实现结果集封装
@ResultMap:实现引用
@Results 定义的封装
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
@SelectProvider: 实现动态 SQL 映射
@CacheNamespace:实现注解二级缓存的使用
注解开发的基本流程:
1.编写Mapper接口
2.在核心配置文件中注册Mapper接口
3.测试
注解的CRUD:
UserMapper
public interface UserMapper {
@Select("select * from user")
List<User> getUsers();
@Select("select * from mybatis.user where id=#{id}")
User getUserById(@Param("id") int id);
@Insert("insert into mybatis.user values (#{id},#{name},#{password})")
int addUser(User user);
@Delete("delete from user where id=#{id}")
int delUser(@Param("id") int id);
@Update("update user set name=#{name} where id=#{id}")
int updateUser(@Param("id") int id,@Param("name") String name);
}
mybatis-conifg.xml
<!--绑定接口-->
<mappers>
<mapper class="com.zuo.dao.UserMapper"/>
</mappers>
UserDaoTest.java
public class UserDaoTest {
@Test
public void getUserList(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUsers();
for(User user:userList){
System.out.println(user);
}
sqlSession.close();
}
@Test
public void getUserById(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void addUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(4,"mmmm","12346"));
sqlSession.commit();
sqlSession.close();
}
@Test
public void delUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.delUser(0);
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUser(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(4,"zuozuozuo");
sqlSession.close();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南