mybatis学习四mybatis的三种查询方式

阿瞒123      2022-04-11     326

关键词:

      <select id="selAll" resultType="com.caopeng.pojo.Flower">
          select * from flower
      </select>
      
      <select id="selCount" resultType="int">
          select count(*) from flower
      </select>
      
      <select id="selMap" resultType="com.caopeng.pojo.Flower">
          select * from flower
      </select>    

package com.caopeng.demo;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.caopeng.pojo.Flower;


public class Demo {
    public static void main(String[] args) throws IOException {
        //加载配置文件
        InputStream in = Resources.getResourceAsStream("mybatis.xml");
        //使用工厂设计模式   【注意】以后sqlSessionFactory都会被spring 管理,不需要我们自己创建
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
        
        //获取sqlSession
        SqlSession sqlSession=sqlSessionFactory.openSession();
        
        //查询结果返回一个resultType的值作为泛型值的List
        List<Flower> flowrList = sqlSession.selectList("com.caopeng.mapper.FlowerMapper.selAll");
        for (Flower flower : flowrList) {
            System.out.println(flower);
        }
        //查询结果返回一个Obejct
        int count=sqlSession.selectOne("com.caopeng.mapper.FlowerMapper.selCount");
        System.out.println(count);
        
        //查询结果返回一个Map,其中key值是selectMap的最后一个参数,value为resultType的指定的返回的对象
        Map<Object,Object> map= sqlSession.selectMap("com.caopeng.mapper.FlowerMapper.selMap", "name");
        System.out.println(map);
        sqlSession.close();
    }
}

 



mybatis查询的三种方式

查询最需要关注的问题:①resultType自动映射,②方法返回值; interfaceEmpSelectMapper:packagecom.atguigu.mapper;importjava.util.List;importjava.util.Map;importorg.apache.ibatis.annotations.MapKey;importcom.atguigu.bean.Em 查看详情

mybatis模糊查询like的三种方式

第一种publicvoidselectBykeyWord(Stringkeyword){  Stringid="%"+keyword+"%";  StringroleType="%"+keyword+"%";  StringroleName="%"+keyword+"%";  userDao.selectBykeyWord(id,roleName,roleType);}在Dao层指定各个参数的别名 查看详情

mybatis:mybatis的三种使用方式

注意,这篇文章只介绍mybatis单独使用时如何操作,是没有用到spring的,如果需要了解mybatis和spring如何搭建,请移步这里Mybatis(六):spring与mybatis三种整合方法。方式一:不使用mapper接口步骤1.pom文件里添加jar包<dependency><gro... 查看详情

mybatis延迟加载的三种加载方式深入,你get了吗?

延迟加载  延迟加载对主对象都是直接加载,只有对关联对象是延迟加载。  延迟加载可以减轻数据库的压力,  延迟加载不可是一条SQL查询多表信息,这样构不成延迟加载,会形成直接加载。  延迟加载分为三种类型... 查看详情

mybatis的三种分页方式,你用过几种?

前言分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力... 查看详情

mybatis的三种分页方式,你用过几种?

前言分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力... 查看详情

springboot整合mybatis实现数据库操作的三种方式

前提:使用MySql数据库一、引进依赖方式一:在构建项目时,通过选择方式引入方式二:配置pom.xml方式<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter&l 查看详情

springboot整合mybatis实现数据库操作的三种方式(代码片段)

前提:使用MySql数据库一、引进依赖方式一:在构建项目时,通过选择方式引入方式二:配置pom.xml方式<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter&l 查看详情

什么?mybatis-plus的多表查询,你还在写sql语句?!crud2多表联查的三种方式(代码片段)

⚠⚠⚠自信攻城狮小名又来攻城啦⚠⚠⚠文章目录公用部分:1.VO2.PracticeTeacherService一、SQL1.PracticeTeacherMapper.xml2.PracticeTeacherMapper.java3.PracticeTeacherServiceImpl.java4.结果:二、链式调用lambda式,lambdaQuery( 查看详情

mybatis学习笔记——特殊sql的执行(代码片段)

...reusernamelike“%”#mohu“%”SpecialSQLMapper.java接口packagecom.fan.mybatis.mapper;importcom.fan.mybatis.pojo.User;importorg.apache.ibatis.annotations.Param;importjava.util.List;publicinterfaceSpecialSQLMapper/***通过用户名模糊查询用户信息*@parammohu*@return*/List<User... 查看详情

上手springboot项目之springboot整合mybatis进行增删改查的三种方式。

1.引入依赖<!--springboot的web起步依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--Myba 查看详情

mybatis学习总结四(关联查询)(代码片段)

...所有订单信息--><selectid="findOrdersList"resultType="cn.itcast.mybatis.po.OrdersCustom">SELECTorders.*,user.username,user.addressFROMorders,userWHEREorders.user_id=user.id</select>ViewCodeMapper接口1publicList<OrdersCustom>findOrdersList()throwsException;测试:1Public... 查看详情

mybatis学习

5.Mybatis开发daoMybatis在项目中主要使用的地方就是开发dao(数据访问层),所以下面讲解一下Mybatis开发dao的方法.有两种方式:原始dao开发方式、mapper代理开发方式(推荐).5.1需求1.根据用户ID查询用户信息2.根据用户名称模糊查询用户列... 查看详情

mybatis学习系列四--mybatisgenerator逆向工程

采用命令行方式执行逆向工程 1、配置文件generatorConfig.xml保存在目录:D:Eworkspaceeclipsemybatis_generator<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfiguration PUBLIC"-//mybatis.org//DTDMy 查看详情

mybatis中foreachcollection的三种用法

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,... 查看详情

初始mybatis

1.session.commit()能够提交事务2.session.close()回滚事务二.模糊查询的三种方法1.select*fromstudentInfowherestunamelike‘%‘#{stuname}‘%‘2.select*fromstudentInfowherestunamelikeconcat{‘%‘,#{stuname},‘%‘}3.select*fromstudentIn 查看详情

mybatis+oracle--批量插入

...增长ID:参考博客:Oracle数据库创建表ID字段的自动递增mybatis语句参考博客:点评ibatis+oracle批量插入的三种方法. 参考第三种参考博客:mybatis中批量插入的两种方式(高效插入) Oracle自增长ID,如下:序列:CREATESEQUENCE"ENERGY... 查看详情

mybatis多参数处理问题

这里总结了关于多参数传递时,MyBatis接收的三种方式。(1)接口中编写方法1  publicEmpgetEmpByParams(Integerid,StringlastNmae);23publicEmpgetEmpByParam(@Param("id")Integerid,@Param("lastName")StringlastNmae);45publicEmpgetEmpByParam(Ma 查看详情