基于注解的单表增删改查
MyBatis提供了@Insert,@Delete,@Update,@Select等常用注解,可以实现数据库的增删改查
public interface UserInfoMapper{
@Select("select * from user_info where id=#{id}")
public UserInfo findUserInfoById(int id);
@Select("select * from user_info where userName like concat(concat('%',#{userName}),'%')")
public List<UserInfo> findUserInfoByUserName(String userName);
@Insert("insert into user_info(userName,password) values(#{userName},#{password})")
public int addUserInfo(UserInfo ui);
@Update("update user_info set userName=#{userName},password=#{password} where id=#{id}")
public int updateUserInfo(UserInfo ui);
@Delete("delete from user_info where id=#{id}")
public int deleteUserInfo(int id);
}
如果实体类属性和数据表字段名保持一致,MyBatis会自动完成结果映射,如果不一致则需要@Result注解手动完成结果映射
mybatis配置文件
<mappers>
<mapper class="com.mybatis.mapper.UserInfoMapper">
</mappers>
测试类
//根据id查询用户
@Test
public void testFindUserInfoById(){
UserInfoMapper um=sqlSession.getMapper(UserInfoMapper.class);
UserInfo ui = um.findUserInfoById(1);
sout(ui.toString());
}
//根据用户名模糊查询用户信息
@Test
public void testFindUserInfoByUserName(){
UserInfoMapper um=sqlSession.getMapper(UserInfoMapper.class)
List<UserInfo> uis=um.findUserInfoByUserName("j");
for(UserInfo ui:uis){
sout(ui.toString());
}
}
//添加用户
@Test
public void testAddUserInfo(){
UserInfoMapper um = sqlSession.getMapper(UserInfoMapper.class);
UserInfo ui = new UserInfo();
ui.setUserName("mybatis");
ui.setPassword("123456");
int result = um.addUserInfo(ui);
if(result>0){
sout("插入成功");
}else{