Mybatis注解
基于之前的user表进行操作
设置自动提交事物
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);//true自动提交
}
Mapper类
//方法中存在多个参数,所有的参数前面必须加上@Param("")注解
//使用注解查询
@Select("select * from users where sid = #{sid}")
User getUserByID(@Param("sid") int sid);
//使用注解插入
@Insert("insert into users(sid,sname,sex,pwd) values (#{sid},#{sname},#{sex},#{pwd})")
int addUser3(User user);
//使用注解修改
@Update("update users set sname=#{sname},sex=#{sex},pwd=#{pwd} where sid=#{sid}")
int updateUser2(User user);
//使用注解删除
@Delete("delete from users where sid = #{sid}")
int deleteUser2(@Param("sid") int sid);
测试类
//通过注解查询
@Test
public void getUserByID(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User userByID = mapper.getUserByID(1);
System.out.println(userByID);
sqlSession.close();
}
//通过注解增加
@Test
public void addUserByNote(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser3(new User(3,"felikschen","男","123321"));
sqlSession.close();
}
//通过注解修改
@Test
public void updateUserByNote(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser2(new User(3,"张三","女","666666"));
sqlSession.close();
}
//通过注解删除
@Test
public void deleteUserByNote(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser2(3);
sqlSession.close();
}
@Param()注解
- 基本类型的参数或者String类型,需要加上
- 引用类型不需要加
- 如果只有一个基本类型的话,可以忽略
- 在SQL中引用的就是@Param()中设定的属性名。