Discuss / Java / 作业insertSql的语句

作业insertSql的语句

Topic source

杜甫

#1 Created at ... [Delete] [Delete and Lock User]

调用类

import Core.AdderChained;
import Core.SqlBuilder;

public class FetchCore {
    public static void main(String[] args) {
        //调用计数器//        _fetchAdder();        //inser的SQL        _fetchInsertSql();
    }

    /**     * 调用计数器     */    private static void _fetchAdder() {
        AdderChained adderChained = new AdderChained();
        int sum = adderChained.add(2)
                .add(3)
                .incr()
                .add(8)
                .decr()
                .value();

        System.out.println("链式操作的应用之求和:"+sum);
    }

    /**     * 获得insert的sql     */    private static void _fetchInsertSql() {
        SqlBuilder sqlBuilder = new SqlBuilder("employee");
        String[] fieldArr = {"name", "position", "salary"};;
        String sql = sqlBuilder.buildInsertSql(fieldArr);

        System.out.println("insert sql="+sql);

        String s = "INSERT INTO employee (name,position,salary) VALUES (?,?,?)";
        String testSqlRes = s.equals(sql) ? "测试成功" : "测试失败";
        System.out.println("testSqlRes="+testSqlRes);
    }
}

insertSql的生成

package Core;/** * 使用StringBuilder构建SQL语句 */public class SqlBuilder {    private String tableName;    public SqlBuilder(String tableName) {        this.tableName = tableName;    }    /**     * 构建插入Sql语句     * @param fields String[]     * @return String     */    public String buildInsertSql(String[] fields) {        StringBuilder sbObj = new StringBuilder(1024);        String sqlStr = sbObj.append("INSERT INTO")                .append(" ")                .append(this.tableName)                .append(" ")                .append("(")                .append(_getFields(fields))                .append(")")                .append(" ")                .append("VALUES (")                .append(_formatValues(fields))                .append(")")                .toString();        return sqlStr;    }    /**     * 获得字段名字符串     * @param fields String[]     * @return String     */    private String _getFields(String[] fields) {        String fieldStr = String.join(",",fields);        return fieldStr;    }    /**     * 格式化字段值字符串     * @param fields String[]     * @return String     */    private String _formatValues(String[] fields) {        String[] valueArr = new String[fields.length];        for (int i = 0; i < fields.length; i++) {            valueArr[i] = "?";        }        return String.join(",",valueArr);    }}

  • 1

Reply