为什么要注解开发?
因为利用注解开发就不需要mapper.xml映射文件了
比如看下面这个实体类注解:
lombok
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String password;
}
在实体类中,加了@Data就不需要你去Alt+insert了,不需要setter和getter了
因为我们导入了强大的lombok依赖(需要去插件下载idea中有)
<dependencies>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>
</dependencies>
利用注解开发就不需要mapper.xml映射文件的案例如下:
import com.qi.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface UserMapper {
@Select("select * from user")
List<User> getUsers();
// 方法存在多个参数,所有的参数前面必须加上 @Param("id")注解
@Select("select * from user where id = #{id}")
User getUserByID(@Param("id") int id);
@Insert("insert into user(id,name,pwd) values (#{id},#{name},#{password})")
int addUser(User user);
@Update("update user set name=#{name},pwd=#{password} where id = #{id}")
int updateUser(User user);
@Delete("delete from user where id = #{id}")
int deleteUser(@Param("id") int id);
}
可以看到接口上面有各种Sql注解,相比较之前的编写sql语句简单很多,不用再另外编写mapper.xml了
【注意点:别忘了增删改一定记得对事务的处理】