用设计模式实现三个接口,每个接口只查询一个字段,并且三个接口使用同一个xml的sql语句
时间: 2024-02-20 18:58:57 浏览: 68
可以使用适配器模式来实现这个需求。首先,定义一个接口,包含查询方法 `queryField()`:
```java
public interface FieldQuery {
String queryField();
}
```
然后,实现三个接口,分别查询不同的字段:
```java
public class NameQuery implements FieldQuery {
public String queryField() {
// 查询名字字段的sql语句
return "SELECT name FROM table";
}
}
public class AgeQuery implements FieldQuery {
public String queryField() {
// 查询年龄字段的sql语句
return "SELECT age FROM table";
}
}
public class GenderQuery implements FieldQuery {
public String queryField() {
// 查询性别字段的sql语句
return "SELECT gender FROM table";
}
}
```
最后,使用适配器模式,将三个接口统一成一个接口,并且使用同一个xml的sql语句:
```java
// 适配器模式
public class FieldQueryAdapter implements FieldQuery {
private String sql;
public FieldQueryAdapter(String sql) {
this.sql = sql;
}
public String queryField() {
// 查询指定字段的sql语句
return sql;
}
}
```
使用时,可以这样调用:
```java
FieldQuery nameQuery = new FieldQueryAdapter("SELECT name FROM table");
FieldQuery ageQuery = new FieldQueryAdapter("SELECT age FROM table");
FieldQuery genderQuery = new FieldQueryAdapter("SELECT gender FROM table");
System.out.println(nameQuery.queryField());
System.out.println(ageQuery.queryField());
System.out.println(genderQuery.queryField());
```
这样就可以实现三个接口,每个接口只查询一个字段,并且三个接口使用同一个xml的sql语句。
阅读全文