调用类
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); }}
Sign in to make a reply
杜甫
调用类
insertSql的生成