猿创征文|Mybatis注解完成增删改查操作
目录
Mybatis的注解开发
mybatis的常用注解
注解完成增删改查操作
新增操作
修改操作
删除操作
查询操作
查询全部操作
Mybatis的注解开发
mybatis的常用注解
这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper映射文件了。我们先围绕一些基本的CRUD来学习,再学习复杂映射多表操作。
@Insert:实现新增
@Update:实现更新
@Delete:实现删除
@Select:实现查询
@Result:实现结果集封装
@Results:可以与@Resuit一起使用,封装多个结果集
@One:实现一对一结果集封装
@Many:实现一对多结果集封装
注解完成增删改查操作
在UserMapper接口中
package com_mybatis_ann.mapper;
import com_mybatis_ann.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface UserMapper {
@Insert("insert into user values(#{id},#{username},#{password},#{birthday})")
public void insert(User user);
@Update("update user set username=#{username},password=#{password} where id=#{id}")
public void update(User user);
@Delete("delete from user where id=#{id}")
public void delete(int id);
@Select("select * from user where id=#{id}")
public User findById(int id);
@Select("select * from user")
public List<User> findAll();
}
在user类中有
package com_mybatis_table.pojo;
import java.util.Date;
import java.util.List;
public class User {
private int id;
private String username;
private String password;
private Date birthday;
//get和set方法和toString方法省略
}
sqlMapConfig配置文件中新增
<mappers>
<package name="com_mybatis_ann.mapper"></package>
</mappers>
测试下
新增操作
public class MybatisTest {
private UserMapper mapper;
// 提前运行,抽取出来
@Before
public void before() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
mapper = sqlSession.getMapper(UserMapper.class);
}
@Test
public void testInsert(){
User user = new User();
user.setUsername("tom");
user.setPassword("abc");
mapper.insert(user);
}
}
修改操作
@Test
public void testUpdate(){
User user = new User();
user.setId(2);
user.setUsername("lucy");
user.setPassword("123");
mapper.update(user);
}
删除操作
@Test
public void testDelete(){
mapper.delete(2);
}
查询操作
@Test
public void testFindById(){
User user = mapper.findById(3);
System.out.println(user);
}
查询全部操作
@Test
public void testFindAll(){
List<User> all = mapper.findAll();
for (User user : all) {
System.out.println(user);
}
}