1.注解实现
1)注解在接口上实现
@Select("select * from user")
List<User> getUsers();
2)在核心配置文件中绑定接口
<mappers>
<mapper class="ming.dao.UserMapper"/>
</mappers>
3)测试
@Test
public void test(){
SqlSession sqlSession= MybatisUtils.getSqlSession();
UserMapper mapper=sqlSession.getMapper(UserMapper.class);
List<User> users=mapper.getUsers();
for (User user : users) {
System.out.println(user);
}
sqlSession.close();
}
2.增删改查
1)CRUD
查询
//有多个参数时,用@Param注解
@Select("select * from user where id=#{id} and name=#{name}")
User getUserById(@Param("id") int id,@Param("name") String name);
增添
@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=#{uid}")
int deleteUser(@Param("uid") int id);
2)可以实现自动提交事务
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession(true);
}
openSession设置为true,默认为false
3.@Param()注解
- 基本类型的参数或者String类型,需要加上
- 引用类型不用加
- 只有一个基本类型的话,可以忽略
- 在SQL中引用的就是@Param()中设置的属性名