我们可以在工具类创建的时候实现自动提交事务!
方法存在多个参数,所有的参数前面必须加上@Param(“”)注解
(注意:所有的基本类型和String类型都要加上@Param,如果是User和Map等等之类的对象不需要加@Param)
注意事项:
1.
设置自动提交事务:
编写接口,增加注解:
public interface UserMapper {
@Select("select * from mybatis.user")
List<User> getUsers();
//方法存在多个参数,所有的参数前面必须加上@Param("")注解
@Select("select * from mybatis.user where id = #{id}")
User getUserByID(@Param("id") int id);
@Insert("insert into mybatis.user(id,name,pwd) values(#{id},#{name},#{password})")
int addUser(User user);
@Update("update mybatis.user set name=#{name},pwd=#{password} where id = #{id}")
int updateUser(User user);
@Delete("delete from mybatis.user where id = #{id}")
int deleteUser(@Param("id") int id);
}
#{}里面写的东西是实体类里的属性名
相应的测试类:
【注意:我们必须要将接口注册绑定到我们的核心配置文件中!!】如图所示:
关于@Param("")注解
- 基本类型的参数或者String类型,需要加上;
- 引用类型不需要加
- 如果只有一个基本类型的话,可以忽略,但是建议加上;
- 我们在SQL引用的就是我们这里的@Param()中设定的属性名!
#{} 和 ${} 区别
- #{}很大程度上能够防止sql注入,${}不能够防止sql注入(根本区别)
使用注解增删改查不需要在对应的Mapper.xml(映射文件)里写sql语句了