后端框架的学习----mybatis框架(7、使用注解开发)
7、使用注解开发
1、注解在接口上实现
/** * 查询用户 */ @Select("select * from user") public List getUsers();
2、需要在核心配置文件中绑定接口
本质:反射机制实现 底层:动态代理
使用注解实现增删改查 1、接口
public interface UserMapper { /** * 查询用户 */ @Select("select * from user") public List getUsers(); /** * 根据id查询用户 */ @Select("select * from user where id=#{id}") public User selectUserById(@Param("id") String id); /** * 增加 */ @Insert("insert into user (id,name,pwd) values (#{id},#{name},#{pwd})") public int addUser(User user); /** * 修改 */ @Update("update user set name=#{name},pwd=#{pwd} where id=#{id}") public int update(User user); /** * 删除一个用户 */ @Delete("delete from user where id=#{id}") public int deleteUser(String id);}2、测试
public class UserDaoTest {
@Test //查询所有的用户public void test() { SqlSession sqlSession = MyBtaisUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List userList = mapper.getUsers(); for (User user : userList) { System.out.println(user); } sqlSession.close();}@Test //根据id查询用户public void selectUserById(){ SqlSession sqlSession = MyBtaisUtil.getSqlSession(); UserMapper user = sqlSession.getMapper(UserMapper.class); User user1 = user.selectUserById("1"); if(user1!=null){ System.out.println(user1); }else{ System.out.println("查询失败"); } sqlSession.close();}@Test //增加用户public void addUser(){ SqlSession sqlSession = MyBtaisUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int res= mapper.addUser(new User("3","老刘","999")); if(res>0){ System.out.println("增加成功!!!"); }else{ System.out.println("增加失败"); } sqlSession.close();}@Test //修改用户public void updateUser(){ SqlSession sqlSession = MyBtaisUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int res = mapper.update(new User("3", "范梦涵", "1234567")); if(res>0){ System.out.println("修改成功"); }else { System.out.println("修改失败!!!"); } sqlSession.close();}@Test //删除用户public void deleteUser(){ SqlSession sqlSession = MyBtaisUtil.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int res = mapper.deleteUser("3"); if(res>0){ System.out.println("删除成功!!!"); }else{ System.out.println("提交失败"); } sqlSession.close();}}
注意 我们可以在工具类创建的时候实现自动提交事务
测试类 【注意:我们必须要将接口注册绑定到我们的核心配置文件中】关于@Param()注解基本类型的参数或者String类型,需要加上引用类型不需要加如果只有一个基本类型的话,可以忽略,但是建议大家都加上我们在SQL中引用的就是我们这里的@Param()中设定的属性名
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~