package com.github.looly.hutool.db.dialect.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import com.github.looly.hutool.db.Entity; import com.github.looly.hutool.PageUtil; import com.github.looly.hutool.db.DbUtil; /** * MySQL方言 * @author loolly * */ public class MysqlDialect extends AnsiSqlDialect{ @Override public PreparedStatement psForPage(Connection conn, Collection<String> fields, Entity where, int page, int numPerPage) throws SQLException { final List<Object> paramValues = new ArrayList<Object>(where.size()); final StringBuilder sql = buildSelectQuery(fields, where, paramValues); int[] startEnd = PageUtil.transToStartEnd(page, numPerPage); sql.append(" limit ").append(startEnd[0]).append(", ").append(startEnd[1]); final PreparedStatement ps = conn.prepareStatement(sql.toString()); DbUtil.fillParams(ps, paramValues.toArray(new Object[paramValues.size()])); return ps; } }