MyBatis注解开发
MyBatis中常用的注解
- @Insert:实现插入
- @Update:实现更新
- @Delete:实现删除
- @Select:实现查询
- @Result:实现结果集封装
- @Results:可以与@Result一起使用,封装多个结果集
- @ResultMap:引用@Results定义的封装
- @One:实现一对一结果集封装
- @Many:实现一对多结果集封装
- @SelectProvider: 实现动态SQL映射
- @CacheNamespace:实现注解二级缓存的使用
使用注解实现基本的CRUD
实体类User
如下:
package com.zfnotes.beans;
import java.util.Date;
public class User {
private Integer id;
private String username;
private Date birthday;
private String sex;
private String address;
//省略getter和setter方法
}
持久层接口UserDao
的内容如下:
注意: 如果使用了注解,就不能再在对应位置编写相应的映射文件了,否则无论是否使用映射文件,mybatis都会报错。
package com.zfnotes.dao;
import com.zfnotes.beans.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 UserDao {
/**
* 查询所有User
* @return
*/
@Select("select * from user")
List<User> findAll();
/**
* 新增用户
* @param user
*/
@Insert("insert into user(username, address, sex, birthday) values(#{username}, #{address}, #{sex}, #{birthday})")
void saveUser(User user);
/**
* 更新用户
* @param user
*/
@Update(