- 准备数据库
- 配置select语句
- 生成带查询条件的Mybatis文件
- 查看生成的结果
接着前一篇文章,我们还是使用sdp_workspace表:
CREATE TABLE sdp_workspace ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(200) NOT NULL, root_path varchar(100) DEFAULT NULL, db_host varchar(100) DEFAULT NULL, db_port int(11) DEFAULT NULL, db_database varchar(200) DEFAULT NULL, db_username varchar(45) DEFAULT NULL, db_password varchar(200) DEFAULT NULL, db_classname varchar(200) DEFAULT NULL, remark varchar(200) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY unique_workspace (name) );
我们希望通过name(精确查询)和db_host(模糊查询)可以查询sdp_workspace表,例如:
select t.* from sdp_workspace t where 88=88 and name = 'sdp' and db_host like '%localhost%'
注意,这里要保证每个查询条件都是单独一行,并且以and开始,不要有括号。所以在where后面加了一个88=88的条件,这样就保证了后面的条件都能以and开始一行。这样的查询已经可以满足多数的单表查询场景了。
另外一个需要注意的是,如果select语句使用了通配符,而不是具体的字段列表,那么即便是单表查询,也需要给表起个别名,这样SDP工具才能自动将表的字段扩展开。如果是select * from这样的写法,Mybatis的xml中是不会扩展的,但是不影响java文件,java文件是可以处理所有的字段信息的。
打开sql页面,点击添加,添加的内容如下图所示:
配置好以后,如下图所示:
第一行就是新增的内容,后面两个是SDP工具根据规则自动创建的两个条件(就是必须以and开始一行的规则)。目前只有在新增SQL时才会自动处理参数,再次编辑是不会重新处理的,如果再新增条件,就需要手工添加,或把之前新增的SQL删除,新建一条,这样就可以再次自动处理参数了。
选中任一一行后,点击执行。执行后会有成功提示,页面如下图所示:
可以看到会多出两个java文件:
然后在Mybatis的xml文件中会多出若干个select语句,其中一个select如下。可以看到通配符被扩展为具体的字段,查询条件被自动替换为参数:
这个select对应的请求和返回对象如下:
package cn.mysdp.biz.domain; import java.io.Serializable; import lombok.Getter; import lombok.Setter; @Getter @Setter public class SdpWorkspaceForGetWorkspaceList implements Serializable { private static final long serialVersionUID = 9000174441695984L; private Integer id; private String name; private String rootPath; private String dbHost; private Integer dbPort; private String dbDatabase; private String dbUsername; private String dbPassword; private String remark; private String dbHostLike; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)