mybatis实现查询操作及获得添加的ID
江南0o0 人气:0- 接口
/** * 获得所有用户 * @return */ List<User> findAll(); /** * 根据id查询用户 * @param id * @return */ User findById(Integer id); /** *根据名字模糊查询 * @param username * @return */ List<User> findByName(String username); /** *查询总记录条数 * @param * @return */ int findTotal();
- mapper
<!-- 获得所有用户--> <select id="findAll" resultType="com.itheima.domain.User"> select * from user; </select> <!-- 根据id查询用户--> <select id="findById" parameterType="int" resultType="com.itheima.domain.User"> select * from user where id=#{id}; </select> <!-- 根据名字模糊查询--> <select id="findByName" parameterType="String" resultType="com.itheima.domain.User"> select * from user where username like #{username} </select> <!-- 查询总记录条数--> <select id="findTotal" resultType="int"> select count(id) from user; </select>
- 测试
/** * 测试查询所有 */ @Test public void testSelectAll(){ List<User> user = userDao.findAll(); for(User user1 : user){ System.out.println(user1); } } /** * 测试根据id查询user */ @Test public void testFindById() { User user = userDao.findById(57); System.out.println(user); } /** * 测试根据名字模糊查询 */ @Test public void testFindByName() { List<User> list = userDao.findByName("%王%"); for(User user:list){ System.out.println(user); } } /** * 测试获得总记录条数 */ @Test public void testFindTotal() { int count = userDao.findTotal(); System.out.println(count); }
添加一组数据,同时获得他的id值:last_insert_id()
接口
/** * 添加用户 */ void saveUser(User user);
mapper
<!-- 添加一个用户;同时获得用户的id值--> <insert id="saveUser" parameterType="com.itheima.domain.User"> <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER"> select last_insert_id(); </selectKey> insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address}) </insert>
测试
/** * 测试添加用户,同时获得添加之后id值 */ @Test public void testSave(){ User user = new User(); user.setUsername("mybatis inserid"); user.setBirthday(new Date()); user.setSex("女"); user.setAddress("香港"); System.out.println("保存操作之前:" + user); userDao.saveUser(user); System.out.println("保存操作之后:" + user); }
加载全部内容