程序执行顺序:
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
相关推荐
这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...
Mybatis入门
mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...
MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...
【标题】"mybatis入门程序"是一个针对初学者的教程,旨在引导他们进入SSM(Spring、SpringMVC和MyBatis)框架的学习。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,极大地简化了Java开发...
【MyBatis 入门教程】 MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使你更好地将注意力集中在你的...
### MyBatis 入门知识点概述 #### 一、MyBatis 概念与特点 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis...
综上所述,"mybatis入门实例" 包含了 MyBatis 的核心概念和基本使用方法,通过对单表的 CRUD 操作,帮助初学者快速理解和掌握 MyBatis 的工作原理和实践技巧。在这个实例中,你可以看到从配置到实际操作的全过程,...
这个入门例子是针对初次接触 MyBatis 的学习者设计的,旨在通过简单的步骤和清晰的配置,帮助他们快速理解 MyBatis 的基本工作原理和核心特性。数据库环境选择了 Oracle,Oracle 是一款功能强大且广泛使用的商业级...
在这个"Mybatis入门JavaSE案例"中,我们将深入理解Mybatis的基本配置、DAO层的注解方式以及XML配置方式。 首先,让我们来了解Mybatis的配置过程。Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含...
这个"MyBatis入门程序"是为初学者设计的,旨在帮助他们快速理解并开始使用MyBatis。在这个程序中,我们将探讨几个关键知识点,包括MyBatis的基本架构、配置、映射文件以及如何连接MySQL数据库。 1. **MyBatis基本...
【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...
本入门程序旨在帮助初学者掌握Mybatis的基本使用,包括如何进行数据库的增删改查操作。下面我们将深入探讨这个主题。 首先,我们来了解Mybatis的核心概念: 1. **SqlSessionFactory**: 这是Mybatis的主要入口点,...
【标题】"mybatis入门项目代码"涉及到的是MyBatis框架的基础使用教程,这是一个轻量级的持久层框架,用于简化Java开发中的数据库操作。MyBatis允许开发者编写SQL语句,将数据库查询与应用程序逻辑紧密地结合起来,...
在本入门示例项目中,我们将深入理解MyBatis的基本使用方法,包括数据库交互、映射文件配置、配置文件加载、Junit测试以及日志记录。 1. 数据库SQL语句:MyBatis的核心功能之一就是将Java对象与数据库中的SQL语句...
在"mybatis入门实战之一"中,我们将深入探讨MyBatis的基础知识,包括它的安装配置、基本用法以及如何进行简单的增删改查操作。这个实战教程特别适合初学者,因为它涵盖了开发过程中常用的工具如log日志记录和Maven...
4. Mybatis的基础知识:Mybatis入门需要掌握一些基础的知识,包括配置文件的编写、Java接口的定义、SQL语句的编写等。其中,配置文件主要包括数据库连接信息、SQL语句等。 5. Mybatis与Hibernate的比较:Hibernate...
MyBatis是一款强大的Java持久层框架,它实现了SQL与Java代码的解耦,极大地提高了开发效率。本资源包是专为初学者至进阶者设计的一套完整的MyBatis学习资料,旨在帮助开发者全面理解并掌握MyBatis的核心概念和技术。...
### Mybatis框架入门知识点详解 #### 一、框架与Mybatis概述 1. **框架定义**: - **广义定义**:框架是一种系统性的、可重用的设计方案,表现为一组抽象组件及其交互方法。 - **狭义定义**:框架是可由应用...
本资源集合是针对MyBatis入门学习者设计的,涵盖了MyBatis的基本概念、核心功能以及实际应用。 首先,我们需要了解MyBatis的基本概念。MyBatis是一个基于Java的持久层框架,它提供了灵活的SQL映射机制,将SQL语句与...