`

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入门实例

    综上所述,"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入门到精通配套资源

    MyBatis是一款强大的Java持久层框架,它实现了SQL与Java代码的解耦,极大地提高了开发效率。本资源包是专为初学者至进阶者设计的一套完整的MyBatis学习资料,旨在帮助开发者全面理解并掌握MyBatis的核心概念和技术。...

    Mybatis入门案例IDEA最新版本

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

    mybatis入门级资源

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

Global site tag (gtag.js) - Google Analytics