`

Mybatis 入门

    博客分类:
  • java
阅读更多



 程序执行顺序:

 

 

 

 

 

 

 

1.Mybatis Generator

  作用:根据数据库中的表自动生成实体类(类中属性与表的字段一一对应),映射文件等文件

 

2.Example类

   作用: 拼接sql语句,方便灵活          

 

3.  and or联合查询如何使用Example?

例如:

select count(*) from user Where (Id=1 and name="jack") or (id=2 and Name="Tom")

 

代码:

UserExample userExample=new UserExample();   

UserExample.Criteria criteria=example.createCriteria();

Criteria.andIdEqualTo(1);                          //给查询条件1赋值

Criteria.andNameEqualTo("jack");              //给查询条件1赋值

 

UserExample.Criteria criteria2=example.createCriteria();

Criteria2.andIdEqualTo(2);                        //给查询条件2赋值

Criteria2.andNameEqualTo("Tom");            //给查询条件2赋值

 

example.or(criteria2);                               //or映射

userPadMapper.countByExample(userPadExample);  //执行查询

 

 

4.每个数据库字段,mybatis Generator会自动产生一堆Example方法

4.1方法名的格式与含义

以andIdIsNull() 为例

方法名的格式: and + 属性名+含义

方法名的含义: 判断Id是否为空

 

4.2属性不同,但是自动产生的方法都相似的

,以属性id为例,看看自动产生的方法一般都有哪些

 

andIdIsNull()                               //判断是否为空

andIdIsNotNull()                          //判断是否不为空

 

andIdEqualTo(Integer value)        //判断Id是否与value相等

andIdNotEqualTo(Integer value)     //判断Id是否与value不相等

 

andIdGreaterThan(Integer value)                 //判断Id是否大于value

andIdGreaterThanOrEqualTo(Integer value)  //判断Id是否大于等于value

 

andIdLessThan(Integer value)                         //判断Id是否小于value

andIdLessThanOrEqualTo(Integer value)          //判断Id是否小于等于value 

andIdIn(List<Integer> values)                         //判断Id是否和List中某个值相等

andIdNotIn(List<Integer> values)                    //判断Id的值是否与List中任何一个值都不相等

 

andIdBetween(Integer value1, Integer value2)   //判断Id是否在2个值中间

andIdNotBetween(Integer value1, Integer value2)  //判断Id是否不在2个值中间

 

 

 5.criteria查询是mybatis提供的一种更加面向对象的查询方式



 

 

Criterion是最基本,最底层的Where条件

Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。

 Example内有一个成员叫oredCriteria,是Criteria的集合,就想其名字所预示的一样,这个集合中的Criteria是由OR连接的,是逻辑或关系。oredCriteria就是ORed Criteria。

 

 6.Mybatis的动态sql本质就是拼接sql语句,满足条件就加在sql语句上,不满足条件就不加

   看个实际例子:

   用户查询的时候,有很多查询条件

    select * from user                               

    select * from user where id=1;              

    select * from user where name="张三"  

    select * from user where name="张三" and id=2   

    select * from user where name="张三" and id=2 and age=19

     ........

    ........

 

    不可能针对每一种情况,程序员都自己写对应的sql语句,需要一种更便捷的方法,就是动态sql

   代码:

   

  selec* from user  <where>

        <if  test="id!=null">

            and id=#{id}  </if>

        <if test="name!=null">

            and name=#{name} </if>

         <if test="age!=null">

            and age=#{age} </if>

         <if test="sex!=null">

            and sex=#{sex} </if>

         ....

    </where>

   解释: 1. <where>标签,如果后面有查询条件,那么会在selec* from user 后面添加一个where 变成 selec* from user where

            2. if标签中的test是判断条件,如果满足条件,就将标签中的内容添加到

              selec* from user where后面,不满足就不添加,因此,用户输入哪种查询条件,就会自动生成相应的sql语句

           注意:where语句会自动省略第一个and

         

 

 

  • 大小: 61.8 KB
  • 大小: 34.9 KB
分享到:
评论

相关推荐

    MyBatis入门到精通

    这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...

    0772-Mybatis入门

    Mybatis入门

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

    MyBatis入门.pdf

    MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...

    mybatis入门程序

    【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...

    4.2mybatis入门教程(一)

    【MyBatis 入门教程】 MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使你更好地将注意力集中在你的...

    mybatis 入门文档

    ### MyBatis 入门知识点概述 #### 一、MyBatis 概念与特点 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis...

    mybatis专栏 001 mybatis入门

    Mybatis专栏系列的文章旨在为初学者提供一个从入门到精通的学习路径,而本篇《mybatis专栏 001 mybatis入门》正是这个系列的第一篇文章,为读者揭开Mybatis神秘的面纱。 在Mybatis的入门部分,首先要了解的是...

    mybatis入门实例

    综上所述,"mybatis入门实例" 包含了 MyBatis 的核心概念和基本使用方法,通过对单表的 CRUD 操作,帮助初学者快速理解和掌握 MyBatis 的工作原理和实践技巧。在这个实例中,你可以看到从配置到实际操作的全过程,...

    mybatis入门例子

    这个入门例子是针对初次接触 MyBatis 的学习者设计的,旨在通过简单的步骤和清晰的配置,帮助他们快速理解 MyBatis 的基本工作原理和核心特性。数据库环境选择了 Oracle,Oracle 是一款功能强大且广泛使用的商业级...

    Mybatis入门JavaSE案例

    在这个"Mybatis入门JavaSE案例"中,我们将深入理解Mybatis的基本配置、DAO层的注解方式以及XML配置方式。 首先,让我们来了解Mybatis的配置过程。Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含...

    MyBatis入门程序

    这个"MyBatis入门程序"是为初学者设计的,旨在帮助他们快速理解并开始使用MyBatis。在这个程序中,我们将探讨几个关键知识点,包括MyBatis的基本架构、配置、映射文件以及如何连接MySQL数据库。 1. **MyBatis基本...

    第一个mybatis程序 mybatis入门

    【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...

    Mybatis入门程序实现增删改查

    本入门程序旨在帮助初学者掌握Mybatis的基本使用,包括如何进行数据库的增删改查操作。下面我们将深入探讨这个主题。 首先,我们来了解Mybatis的核心概念: 1. **SqlSessionFactory**: 这是Mybatis的主要入口点,...

    mybatis入门项目代码

    【标题】"mybatis入门项目代码"涉及到的是MyBatis框架的基础使用教程,这是一个轻量级的持久层框架,用于简化Java开发中的数据库操作。MyBatis允许开发者编写SQL语句,将数据库查询与应用程序逻辑紧密地结合起来,...

    mybatis入门示例项目

    在本入门示例项目中,我们将深入理解MyBatis的基本使用方法,包括数据库交互、映射文件配置、配置文件加载、Junit测试以及日志记录。 1. 数据库SQL语句:MyBatis的核心功能之一就是将Java对象与数据库中的SQL语句...

    mybatis入门实战之一

    在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...

    Mybatis 入门到理解篇

    4. Mybatis的基础知识:Mybatis入门需要掌握一些基础的知识,包括配置文件的编写、Java接口的定义、SQL语句的编写等。其中,配置文件主要包括数据库连接信息、SQL语句等。 5. Mybatis与Hibernate的比较:Hibernate...

    Mybatis入门案例IDEA最新版本

    ### Mybatis框架入门知识点详解 #### 一、框架与Mybatis概述 1. **框架定义**: - **广义定义**:框架是一种系统性的、可重用的设计方案,表现为一组抽象组件及其交互方法。 - **狭义定义**:框架是可由应用...

    mybatis入门级资源

    本资源集合是针对MyBatis入门学习者设计的,涵盖了MyBatis的基本概念、核心功能以及实际应用。 首先,我们需要了解MyBatis的基本概念。MyBatis是一个基于Java的持久层框架,它提供了灵活的SQL映射机制,将SQL语句与...

Global site tag (gtag.js) - Google Analytics