• 【SSM框架】测试 修改.删除.查询功能


    🍓个人主页:个人主页

    🍒系列专栏:SSM框架

    💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习

    目录

    1.创建sqlSession工具类

    2.测试修改功能

    3.测试删除功能

     4.测试查询功能


    1.创建sqlSession工具类

    MyBatis 使用中,如果每个方法执行时都需要读取配置文件,并根据配置文件的信息构建SqlSessionFactory对象,然后创建SqlSession 对象,这会导致类大量的重复代码。为了简化开发,需要将重复代码封装到一个工具类中。如下:

    1. package com.atguigu.mybatis.utils;
    2. import org.apache.ibatis.io.Resources;
    3. import org.apache.ibatis.session.SqlSession;
    4. import org.apache.ibatis.session.SqlSessionFactory;
    5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    6. import java.io.IOException;
    7. import java.io.InputStream;
    8. public class SqlSessionUtils {
    9. public SqlSession getSqlSession() {
    10. SqlSession sqlSession = null;
    11. {
    12. try {
    13. InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    14. SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    15. SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
    16. sqlSession = sqlSessionFactory.openSession(true);
    17. } catch (IOException e) {
    18. e.printStackTrace();
    19. }
    20. }
    21. return sqlSession;
    22. }
    23. }

    后面的 修改 删除 查询 只是简单测试,后期会优化。

    2.测试修改功能

    1. public interface UserMapper {
    2. /** 修改用户信息 */
    3. void updateUser();
    4. }




       
       
    -- 现在只是测试,后期会优化
    update t_user set username='root',password='root' where id=2;
       

    1. public class MybatisTest {
    2. @Test
    3. public void test() {
    4. SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
    5. SqlSession sqlSession = sqlSessionUtils.getSqlSession();
    6. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    7. userMapper.updateUser();
    8. sqlSession.close();
    9. }
    10. }

    运行后:

     

    3.测试删除功能

    1. public interface UserMapper {
    2. /** 删除用户信息 */
    3. void deleteUser();
    4. }
    delete from t_user where id=3;

    1. public class MybatisTest {
    2. @Test
    3. public void test() {
    4. SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
    5. SqlSession sqlSession = sqlSessionUtils.getSqlSession();
    6. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    7. userMapper.deleteUser();
    8. sqlSession.close();
    9. }
    10. }

     

     4.测试查询功能

    1. public interface UserMapper {
    2. /** 查询用户信息 */
    3. List getAllUser();
    4. }
    注意:
    查询的标签 select 必须设置属性 resultType resultMap ,用于设置实体类和数据库表的映射关系
    resultType 自动映射,用于属性名和表中字段名一致的情况
    resultMap 自定义映射,用于一对多或多对一或字段名和属性名不一致的情况

       

    1. public class MybatisTest {
    2. @Test
    3. public void test() {
    4. SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
    5. SqlSession sqlSession = sqlSessionUtils.getSqlSession();
    6. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    7. List allUser = userMapper.getAllUser();
    8. allUser.forEach(System.out::println);
    9. sqlSession.close();
    10. }
    11. }

     

     

  • 相关阅读:
    Linux网络编程3-select模型
    小白也能看懂的缓存雪崩、穿透、击穿
    数据监测都可以监测啥
    yolo5 onnx2rknn 瑞芯微香橙派 rk3588
    好好学习第5天:Xception动物识别
    SpringBoot中异步注解@Async介绍
    Apollo 应用与源码分析:Apollo工程概述与AUTOSAR架构
    【开源项目 - export-service】数据导出项目 之 简介
    怎么防止360安全卫士修改默认浏览器?
    【neovim 技巧系列】quickfix 与文本处理
  • 原文地址:https://blog.csdn.net/Javascript_tsj/article/details/126325455