mybatis注解开发可以在接口方法上加上注解省略掉接口对应的Mapper配置文件,但对于复杂的查询有点力不从心
关于#{}和${}的取值区别
#{}:可以很大程度防止sql注入问题,
${}: 传统的拼接字符串方式取值,存在sql注入
注意事项:
-
必须将接口注册绑定到我们的核心配置文件中
-
关于Param()注解
- 基本类型的参数或者String类型的参数需要加上
- 引用类型不需要加
- 如果参数列表中只有一个基本类型可以不加,但是建议都加上
- 我们在sql中引用的就是 @Param("uid")中设置的参数名
- 两个以上的基本参数类型必须加,因为当只有一个基本数据参数时候mybatis会默认引用这个参数,当两个及两个以上时候,mybatis就不知道那个参数给那个位置传值,则必须通过注解定义。
接口类注解开发
public interface UserMapper {
@Select("select * from user")
List selectUser();//查询所有用户信息
@Select("select * from user where id=#{id}")
User selectUserById(int id);//根据id查询用户信息
@Update("update user set password=#{password},money=#{money} where id=#{id}")
void updateUser(Map map);//修改用户信息
@Insert("insert into user(username,password,money) values(#{username},#{password},#{money})")
void insertUser(User user);//增加用户信息
@Delete("delete from user where id=#{uid} and password=#{password}")
int deleteUser( @Param("uid") int id,@Param("password") String password);//删除用户
}
核心配置文件注册



