环境准备
- 使用第二章的相关表与实体类 userInfo表
- 删除映射文件
Select注解
创建接口,编写查询方法。根据Id查询出一条用户信息
public interface TUserMapper {
@Select("select * from users_info where uid = #{id}")
User findTUserById(int id);
}
在mybatis-config.xml中配置引入workerMapper接口
编写测试方法
@Test
public void test01(){
User user = mapper.findTUserById(1);
System.out.println(user);
}
insert注解
创建接口,编写插入方法。
@Insert("insert into users_info (uname, uage, uphone) values (#{uname},#{uage},#{uphone});")
int insertUser(User user);
编写测试方法
@Test
public void test02(){
User user = new User();
user.setUname("hahah");
user.setUage(55);
user.setUphone("111111111");
mapper.insertUser(user);
}
update注解
创建接口,编写查询方法。
@Update("update users_info set uname = #{uname} where uid = #{uid};")
int updateUser(User id);
编写测试方法
@Test
public void test03(){
User user = new User();
user.setUname("aaaaaaaa");
user.setUid(6);
mapper.updateUser(user);
}
delete注解
创建接口,编写删除方法。
@Delete("delete from users_info where uid = #{uid};")
int deleteUser(int id);
编写测试方法
@Test
public void test04(){
mapper.deleteUser(6);
}
param注解
若存在多个参数,解决参数对应问题有两种方式
-
sql语句中使用默认参数名,如 Available parameters are [arg1, arg0, param1, param2]
-
在接口中使用@Param注解
创建接口,编写查询方法。
@Select("select * from users_info where uid = #{id1} and uname = #{name1};")
User findUserByIdAndName(@Param("id1") int id, @Param("name1") String name);
编写测试方法
@Test
public void test05(){
mapper.findUserByIdAndName(11,"hahah");
}
全部代码:
package com.yiwu.mapper;
import com.yiwu.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
public interface TUserMapper {
@Select("select * from users_info where uid = #{aaaa}")
User findTUserById(int id);
@Insert("insert into users_info (uname, uage, uphone) values (#{uname},#{uage},#{uphone});")
int insertUser(User user);
@Update("update users_info set uname = #{uname} where uid = #{uid};")
int updateUser(User id);
@Delete("delete from users_info where uid = #{uid};")
int deleteUser(int id);
@Select("select * from users_info where uid = #{id1} and uname = #{name1};")
User findUserByIdAndName(@Param("id1") int id, @Param("name1") String name);
}
import com.yiwu.mapper.TUserMapper;
import com.yiwu.pojo.User;
import com.yiwu.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.List;
public class TUserTest {
private TUserMapper mapper;
private SqlSession sqlSession;
@Before
public void init(){
sqlSession = MyBatisUtils.geSqlSession();
mapper = sqlSession.getMapper(TUserMapper.class);
}
@Test
public void test01(){
User user = mapper.findTUserById(1);
System.out.println(user);
}
@Test
public void test02(){
User user = new User();
user.setUname("hahah");
user.setUage(55);
user.setUphone("111111111");
mapper.insertUser(user);
}
@Test
public void test03(){
User user = new User();
user.setUname("aaaaaaaa");
user.setUid(6);
mapper.updateUser(user);
}
@Test
public void test04(){
mapper.deleteUser(6);
}
@Test
public void test05(){
mapper.findUserByIdAndName(11,"hahah");
}
@After
public void destory(){
sqlSession.commit();
sqlSession.close();
}
}
mybatis基础教程【5小时36讲全套】
重录版-推荐(36讲,无法分享组,点击前往bilibili查看全集)
29注解实现基本查找与插入