Select
选择,查询语句
id:就是对应的namespace中的方法名;
resultType:Sql语句执行的返回值;
parameterType:参数类型
我们想使用查询语句首先要在UserMapper.java定义新的抽象方法
Such as
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1cTN4UzM4MTOyQTMxIjMwAjMwIzLcJDMwIDMy8CXvZmbp9CXt92YuUGZvNWatFWbuU2Zh1Wavw1LcpDc0RHaiojIsJye.png)
之后,我们在UserMapper.xml里面写我们的sql语句
select * from mybatis."user" where id = #{id};
两文件的关系
Ok,接下来我们写测试类吧
public classtest {//查询所有用户和密码
@Testpublic voidgetUserById(){//通过MybatisUtils工具类获得sqlSession对象,这句话是写死的
SqlSession sqlSession =MybatisUtils.getSqlSession();//我们需要做的就是写中间这段代码//获取接口
UserMapper mapper = sqlSession.getMapper(UserMapper.class);//我们查一下一号用户
User user = mapper.getUserById(1);
System.out.println(user);//关闭sqlSession,这句话是写死的
sqlSession.close();
}
}
基本就是以上这些步骤
上面执行了查询语句,接下来我们编写增删改的代码
我们费那么大力气搭建Mybatis项目,就是为了之后的方便,以后只用修改几个地方
注意:增删改和查询的最大区别是必须用sqlSession提交业务,否则无法成功!
1、UserMapper接口类
需要在UserMapper接口类中定义新的抽象方,不用删掉之前的方法,我们后边测试的时候只调用需要的方法即可
public interfaceUserMapper {//查询全部用户
ListgetUserList();//根据ID查询用户
User getUserById(intid);//增加一个用户
intaddUser(User user);//修改用户
intupdateUser(User user);//删除用户
int deleteUser(intid);
}
View Code
2、UserMapper.xml配置文件
/p>
PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select*from mybatis.user;
select* from mybatis.user where id =#{id};
insert into mybatis.user(id, name, pwd) value (#{id},#{name},#{pwd});
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};
delete from mybatis.user where id=#{id};
View Code
3、UserMapperTest测试类
public classUserMapperTest {//查询所有用户和密码
@Testpublic voidtest(){//第一步:获得sqlSession对象
SqlSession sqlSession =MybatisUtils.getSqlSession();//方式一:getMapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List userList =mapper.getUserList();for(User user : userList) {
System.out.println(user);
}//关闭sqlSession
sqlSession.close();
}//根据ID查询用户和密码
@Testpublic voidgetUserById(){
SqlSession sqlSession=MybatisUtils.getSqlSession();
UserMapper mapper= sqlSession.getMapper(UserMapper.class);
User user= mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}//增删改需要提交事务//增加一个用户
@Testpublic voidaddUser(){
SqlSession sqlSession=MybatisUtils.getSqlSession();
UserMapper mapper= sqlSession.getMapper(UserMapper.class);
mapper.addUser(new User(4, "王五", "123456"));//提交事务
sqlSession.commit();
sqlSession.close();
}//修改一个用户
@Testpublic voidupdateUser(){
SqlSession sqlSession=MybatisUtils.getSqlSession();
UserMapper mapper= sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(4,"田七","123123"));
sqlSession.commit();
sqlSession.close();
}//删除一个用户
@Testpublic voiddeleteUser(){
SqlSession sqlSession=MybatisUtils.getSqlSession();
UserMapper mapper= sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
}
View Code
版权声明:以上大部分为CSDN博主「饿死在深夜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44986648/article/details/103143992
依旧是喜欢大力的一天