注解实现CRUD
注:注解开发简单,不需要编写XML配置文件,但对于操作复杂的,建议使用XML配置文件!!!
- 在接口中添加注解(接口中的参数,基本类型建议都加上@Param() )
public interface UserMapper {
@Select("select * from user")
List getUsers();
@Select("select * from user where id = #{id}")
User getUserById(@Param("id") int id); //ID查询
@Insert("insert into user(id,name,pwd) values(#{id},#{name},#{pwd})")
int addUser(User user); //增加
@Update("update user set name=#{name},pwd=#{pwd} where id=#{id}")
int updateUser(User user); //修改
@Delete("delete from user where id=#{id}")
int deleteUser(@Param("id") int id); //删除
}
- 测试类
public class UserMapperTest {
@Test
public void getUsers(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
//底层主要应用反射
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User userById = mapper.getUserById(1);
System.out.println(userById);
sqlSession.close();
}
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(9, "java", "2222222"));
sqlSession.commit();
sqlSession.close();
}
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(9,"mybatis","666"));
sqlSession.commit();
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(9);
sqlSession.commit();
sqlSession.close();
}
}
注:所有的操作都必须在mybatis.xml 中配置接口的绑定