mybatis注解 怎样简单使用mybatis注解
时年君 人气:0想了解怎样简单使用mybatis注解的相关内容吗,时年君在本文为您仔细讲解mybatis注解的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:mybatis注解的使用,mybatis注解,下面大家一起来学习吧。
使用注解开发
本质:反射机制实现
底层:动态代理
1、注解在接口上的实现
public interface UserMapper { @Select("select * from user") List<User> getUsers(); }
2、使用注解时,需要在核心配置文件中绑定接口
<mappers> <mapper class="com.xiao.dao.UserMapper"/> </mappers>
3、测试使用
public class UserMapperTest { @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(); } }
使用注解完成CRUD
只需修改接口和测试类即可。
之前在使用XML的方式进行CRUD操作时,增(insert)、改(update)、删(delete)时,都需要手动进行事务提交操作sqlsession.commit()
。
查看openSession()的源码
自动提交
查(select)
接口
@Select("select * from user where id = #{id}") User getUserByID(@Param("id") int id);
测试类
public class UserMapperTest { @Test public void test(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //底层主要靠反射实现 UserMapper mapper = sqlSession.getMapper(UserMapper.class); User userByID = mapper.getUserByID(1); System.out.println(userByID); sqlSession.close(); } }
增(insert)
接口
@Insert("insert into user(id,name,pwd) value (#{id},#{name},#{password})") int addUser(User user);
实现类
public class UserMapperTest { @Test public void test(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //底层主要靠反射实现 UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.addUser(new User(5,"张飞","1456156")); sqlSession.close(); } }
改(update)
接口
@Update("update user set name = #{name},pwd=#{password} where id = #{id}") int updateUser(User user);
测试类
public class UserMapperTest { @Test public void test(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //底层主要靠反射实现 UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.updateUser(new User(5,"赵云","565423")); sqlSession.close(); } }
删(delete)
接口
@Delete("delete from user where id = #{id}") int deleteUser(int id);
测试类
public class UserMapperTest { @Test public void test(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); //底层主要靠反射实现 UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.deleteUser(5); sqlSession.close(); } }
加载全部内容