完成了Mybatis配置信息,我们就要进入后端学习必不可少的增删改查。
首先新建一个User实体类(基操就不操作了)
一、新建MybatisUtil工具类
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
二、新建UserMapper接口
public interface UserMapper {
//通过id查找用户
User getUserById(int id);
//添加一名用户
int addUser(User user);
//通过id删除用户
int deleteUser(int id);
//更改用户信息
int updateUser(User user);
}
三、通过id查找用户
3.1在UserMapper.xml文件中查找语句配置(因为我设置别名了,所以我resultType="User",如果没有设置,这里要写resultType="com.qjf.pojo.User",即User类所在位置)
<select id="getUserById" resultType="User">
select * from user where id=#{id}
</select>
3.2测试UserMapper,在test包下新建com.qjf.Mapper包(和UserMapper包名一下),然后新建UserMapperTest类
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User userById = userMapper.getUserById(1);
System.out.println(userById);
sqlSession.close();
}
3.3输出日志
四、添加一名用户
4.1在UserMapper.xml文件中添加语句配置
<insert id="addUser" parameterType="User">
insert user (id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
4.2测试(sqlSession.commit()作用是提交事务)
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User(4, "jij", "789");
mapper.addUser(user);
sqlSession.commit();
sqlSession.close();
}
4.3结果
五、 通过id删除用户
5.1在UserMapper.xml文件中删除语句配置
<delete id="deleteUser" parameterType="int">
delete from user where id = #{id}
</delete>
5.2测试
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(5);
sqlSession.commit();
sqlSession.close();
}
5.3结果
六、更改用户信息
6.1在UserMapper.xml文件中update语句配置
<update id="updateUser" parameterType="User">
update user set name=#{name},pwd=#{pwd} where id = #{id}
</update>
6.2测试代码
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User(6, "王子", "494");
mapper.updateUser(user);
sqlSession.commit();
sqlSession.close();
}