首页 > 其他分享 >MyBatis 五 ---查看详情&&条件查询

MyBatis 五 ---查看详情&&条件查询

时间:2022-09-04 22:22:30浏览次数:70  
标签:status companyName brand --- brandName 参数 && SQL MyBatis

查看详情

   1、编写接口方法:Mapper接口

        参数:id

        返回结果:Brand

 

 

 

    2、编写SQL语句:SQL映射文件;

      参数占位符:

          #{}:会将参数替换为?为了防止SQL注入

          ${}:会存在参数注入问题

 

 

 

    3:执行方法,测试

 

 

 条件查询:

  多条件查询:散装参数(需要使用@Param("SQL参数占位符合集"))、对象参数、Map集合的参数。

    1、编写接口方法:Mapper接口

       

 

 

 

    2、编写SQL语句:SQL映射文件;

 

 

    3:执行方法,测试

    

 @Test
    public  void test_SelectByCondition() throws IOException {

        int id = 1;
        int status =1;
        String companyName = "华为";
        String brandName = "华为";


        //处理参数
        companyName = "%"+companyName+"%";
        brandName = "%"+brandName+"%";



        //封装对象——方法2
        Brand brand = new Brand();
        brand.setStatus(status);
        brand.setBrandName(brandName);
        brand.setCompanyName(companyName);


        //方法三   Map集合
        Map map = new HashMap();
        map.put("status",status);
        map.put("companyName",companyName);
        map.put("brandName",brandName);
        //1获取sqlSessionFactory
        String resource = "mybatis-config.xml";                                 //配置文件
        InputStream inputStream = Resources.getResourceAsStream(resource);      //传入流
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);    //返回对象

        //2 获取sqlSession 对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3 获取Mapper接口的代理对象
        BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
        //4 执行方法
// 方法一:       List<Brand> brands = brandMapper.selectByCondition(status,companyName,brandName);
//方法二           List<Brand> brands = brandMapper.selectByCondition(brand);
//方法三

        List<Brand> brands = brandMapper.selectByCondition(map);
        System.out.println(brands);
        //5 释放资源
        sqlSession.close();
    }    

 

 

 

 

 

 

 

遇到的问题:当条件查询有查询条件为中文时查询结果为空,需要在mybatis-config.xml设置编码,但是xml文件的&需要转义,最后修改的结果是这样的

<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=GMT%2B8&amp;useSSL=false"/>

被这个小问题卡了好久好久,不到一个小时。

标签:status,companyName,brand,---,brandName,参数,&&,SQL,MyBatis
From: https://www.cnblogs.com/zhaolei0419/p/16656328.html

相关文章

  • 预科知识2-Windows常用快捷键
    Windows常用快捷键Ctrl+c:复制Ctrl+v:粘贴Ctrl+A:全选Ctrl+x:剪切Ctrl+z:撤销Ctrl+s:保存Alt+F4:关闭窗口shift+Del:永久删除Windows+R:运行Windows+E:我的电脑ctrl+shif......
  • 多线程---Thread和Runnable
    多线程参考视频:多线程02:线程、进程、多线程哔哩哔哩bilibili1.概念     2.线程创建创建线程方式一:继承Thread类,重写run()方法,调用start开启线程packagec......
  • Mybatis学习笔记(三)——Mybatis执行sql的两种方式
    这部分内容前边简单提过了,之前写第一个Mybatis示例时用的就是第一种方式。本节主要介绍MyBatis执行SQL语句的两种方式和它们的区别。MyBatis有两种执行SQL语句的方......
  • 预科知识3-基本的Dos命令
    打开CMD的方式:​1.开始+系统+命令提示符​2.win键+R输入cmd打开控制台(推荐使用)​3.在任意的文件夹里面,按住shift+鼠标右键点击,在此处打开powershell窗......
  • linux驱动移植-usb键盘接口驱动
    在前面的章节我们已经介绍了usb鼠标驱动的编写,并对usb摄像头驱动源码进行了分析。由于usb键盘驱动和usb鼠标驱动代码非常相似,所以这一节就粗略介绍一下usb键盘驱动的编写。......
  • 2022-09-04 京剧《红鬃烈马》
    故事情节介绍:唐丞相王允,生有三女,大女王金钏,嫁苏龙,官居户部;二女王银钏,配魏虎,兵部侍郎;三女王宝钏,因过溺爱,在十字街头,高搭彩楼,抛球选婿,球中花郎薛平贵。王允嫌贫爱富,悔却前言......
  • Flask 学习-47.Flask-RESTX 设置 Swagger 文档
    前言SwaggerAPI文档是自动生成的,可从您的API的根URL获取。@api.doc()您可以使用装饰器配置文档。SwaggerUI文档默认flask-restx提供SwaggerUI文档,从API的......
  • 强化学习-Double DQN(两个DQN模型)
    对于之前提到的DQN模型,损失函数使用的Q(state)=reward+Q(nextState)maxQ(state)由训练网络生成,Q(nextState)max由目标网络生成这种损失函数会存在问题,即当Q(nex......
  • 2022-09-04 京剧《荒山泪》
    京剧《荒山泪》,又名《祈祷和平》,剧本是金仲荪先生在1929年编写的,程砚秋1930年岁尾首演。1956年此剧拍摄了电影。此戏和《春闺梦》是姊妹篇。1929年3月的蒋桂战争、5月的......
  • 1.try-except 2. if 0<=score<=1.0 3. print加引号是为什么
    Assignment3.3Writeaprogramtopromptforascorebetween0.0and1.0.Ifthescoreisoutofrange,printanerror.Ifthescoreisbetween0.0and1.0,pri......