MySQL查询组装

时间:2019-05-06 10:06:32

标签: java mysql sql

我正在尝试建立条件条件包含字符串的Mysql查询。我无法建立查询。

我已经尝试过此代码。

package doubts;

public class Doubts {

    public static void main(String[] args) {
        String sb = "select * from a where b = ";
        String a = "abc";
        System.out.println(sb+a);
    }

}

我可以使用以上代码构建的查询是:

select * from a where b = abc

我想要:

select * from a where b = "abc"

我想解决这个问题。

1 个答案:

答案 0 :(得分:0)

像deHaar和Arnaud一样已经写道:

a放在双引号中。

例如:

public static void main(String[] args) {
    String sb = "select * from a where b = ";
    String a = "\"abc\"";
    System.out.println(sb+a);
}

更好:在数据库上执行此查询时,请使用PreparedStatement

public static void main(String[] args) {
    try (Connection conn = DriverManager.getConnection(...);) {
        try (PreparedStatement pstmt = conn.prepareStatement("select * from a where b = ?");) {
             pstmt.setString(1, "abc");
            try (ResultSet rs = pstmt.executeQuery();) {
                ...
            }
        }
    }
}