可以使用以下方式:

  1. 使用 select 方法指定要查询的字段,例如:
import static org.mybatis.dynamic.sql.SqlBuilder.*;

List<MyObject> results = sqlSession.selectList(select(MyObjectDynamicSqlSupport.id, MyObjectDynamicSqlSupport.name)
    .from(MyObjectDynamicSqlSupport.myObject)
    .where(MyObjectDynamicSqlSupport.id, isEqualTo(1))
    .build());
  1. 在对应的 DynamicSqlSupport 类中定义一个 Column[],包含要查询的字段,例如:
public class MyObjectDynamicSqlSupport {
  public static final MyObject myObject = new MyObject();
  public static final Column<MyObject> id = myObject.id;
  public static final Column<MyObject> name = myObject.name;

  public static class MyObject extends SqlTable {
    public final Column<Integer> id = column("id", JDBCType.INTEGER);
    public final Column<String> name = column("name", JDBCType.VARCHAR);
    public MyObject() {
      super("my_object");
    }
  }
}

然后可以在查询中使用这些列,例如:

import static org.mybatis.dynamic.sql.SqlBuilder.*;

List<MyObject> results = sqlSession.selectList(select(MyObjectDynamicSqlSupport.id, MyObjectDynamicSqlSupport.name)
    .from(MyObjectDynamicSqlSupport.myObject)
    .where(MyObjectDynamicSqlSupport.id, isEqualTo(1))
    .build());
如果用 orgmybatisdynamicsqlselect 查询出指定字段

原文地址: http://www.cveoy.top/t/topic/M3C 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录