springboot集成了mybatis后,就不需要繁琐的xml配置了,只需要一个Mapper类。

增删改查对应的注解分别为@Insert、@Delete、@Update、@Select。

/**
 *@Mapper将pojo声明为一个Mapper接口
 *@Results是结果映射列表,@Result中property是pojo类的属性名,column是数据库表的字段名
 *@Select、@Insert分别代表执行了真实的SQL
 */
@Mapper
public interface UserMapper{
	
	@Select("select * from user where id = #{id}")
	public User findById(@Param("id") String id);

	//当pojo类中属性与数据库中字段名不一致时使用@Results
	@Select("select name, age from user")
	@Results({
		@Result(property = "name", column = "name"),
		@Result(property = "age", column = "age")
	})
	List<User> findAll();

	@Insert("insert into user(name, age) values(#{name}, #{age})")
	int insert(@Param("name") String name, @Param("age") Integer age);

	//以实体类型接受参数
	@Insert("insert into user(name, age) values(#{name}, #{age})")
	int insertByUser(User user);

	//以map形式接受参数
	@Insert("insert into user(name, age) values(#{name, jdbcType=VARCHAR}, #{age, jdbcType=INTEGER})")
	int insertByMap(Map<String, Integer> map);

	@Update("update user set age = #{age} where name = #{name}")
	int update(@Param("age") Integer age, @Param("name") String name);

	@Delete("delete from user where id = #{id}")
	int deleteById(@Param("id") String id);

}