MyBatis Generator(MBG)逆向工程生成的Example基本用法

MyBatis Generator(MBG)逆向工程生成的`Example`类是一个非常有用的工具,它可以帮助我们构建复杂的查询条件,包括模糊查询、范围查询等。以下是`Example`类的一些基本用法:

 1. 创建Example对象

首先,你需要创建一个`Example`对象,这个对象代表了你要查询的表。

```java
YourTableExample example = new YourTableExample();
```

 2. 创建Criteria对象

`Example`类中有一个`createCriteria()`方法,用于创建一个`Criteria`对象,你可以在这个对象上设置查询条件。

```java
Criteria criteria = example.createCriteria();
```

 3. 设置查询条件

使用`Criteria`对象设置查询条件。`Criteria`类提供了很多方法来设置条件,例如:

- `andCondition`:添加一个条件,条件之间用`AND`连接。
- `orCondition`:添加一个条件,条件之间用`OR`连接。
- `andEqualTo`:添加一个等于条件。
- `andNotEqualTo`:添加一个不等于条件。
- `andGreaterThan`:添加一个大于条件。
- `andLessThan`:添加一个小于条件。
- `andLike`:添加一个模糊匹配条件。
- `andIn`:添加一个IN条件。
- `andBetween`:添加一个BETWEEN条件。

例如,设置一个模糊查询条件:

```java
Criteria criteria = example.createCriteria();
criteria.andColumnNameLike("%value%");
```

 4. 链式设置多个条件

你可以链式调用`Criteria`对象的方法来设置多个条件:

```java
Criteria criteria = example.createCriteria()
    .andColumnNameEqualTo("value1")
    .andAnotherColumnNameGreaterThan(10);
```

5. 使用多个Criteria对象

`Example`类还支持使用多个`Criteria`对象,它们之间用`OR`连接:

```java
Criteria criteria1 = example.createCriteria()
    .andColumnNameEqualTo("value1");

Criteria criteria2 = example.createCriteria()
    .andAnotherColumnNameGreaterThan(10);

example.or(criteria1, criteria2);
```

6. 执行查询

最后,你可以使用Mapper接口的`selectByExample`方法来执行查询:

```java
List<YourTable> results = yourTableMapper.selectByExample(example);
```

 7. 分页查询

`Example`类还支持分页查询,你可以设置页码和每页的记录数:

```java
example.setPage(1, 10); // 设置第一页,每页10条记录
List<YourTable> pagedResults = yourTableMapper.selectByExample(example);
```

请注意,`setPage`方法的具体名称可能因MyBatis Generator版本而异,有些版本可能使用`setStartRow`和`setPageSize`方法。

另外在使用MyBatis Generator逆向工程生成的代码后,如果你需要在添加数据后返回生成的ID,实际案例中需要用到,可以通过以下方法实现:

使用<selectKey>标签

        在<insert>标签中使用<selectKey>标签来获取自增ID。这可以在插入操作之后立即执行一个查询来获取最后插入的ID。例如:xml

<insert id="insertStudent" parameterType="Student">
    insert into student(name, age) VALUES (#{name}, #{age})
    <selectKey keyProperty="sid" order="AFTER" resultType="int">
        SELECT LAST_INSERT_ID()
    </selectKey>
</insert>

这里的<selectKey>标签在插入操作之后执行,LAST_INSERT_ID()是MySQL的函数,用来获取最后插入的自增ID。keyProperty="sid"指定了将这个ID赋值给Student对象的sid属性。

以上就是`Example`类的基本用法,它提供了一种非常灵活的方式来构建和执行数据库查询。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值