|
|
|
|
@ -1,3 +1,18 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2019. 黄钰朝
|
|
|
|
|
*
|
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
|
*
|
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
*
|
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
|
* limitations under the License.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.hyc.wechat.dao.impl;
|
|
|
|
|
|
|
|
|
|
@ -19,8 +34,10 @@ import static com.hyc.wechat.util.ReflectUtils.getMethods;
|
|
|
|
|
import static com.hyc.wechat.util.StringUtils.field2SqlField;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @program wechat
|
|
|
|
|
* @description 负责执行sql语句
|
|
|
|
|
* @date 2019-05-01 17:34
|
|
|
|
|
*/
|
|
|
|
|
public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
|
|
|
|
|
@ -39,6 +56,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.Object
|
|
|
|
|
* @name executeUpdate
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/9
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int executeUpdate(String sql, Object[] params) {
|
|
|
|
|
@ -73,6 +92,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return int 执行sql语句后影响记录的行数
|
|
|
|
|
* @name executeUpdate
|
|
|
|
|
* @notice 必须传入一个SqlMapper的实现类用于映射预编译语句
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/9
|
|
|
|
|
* @see SQLMapper
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@ -128,6 +149,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return int 更新的数据库记录数
|
|
|
|
|
* @name insert
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/9
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int insert(Object obj, String table) {
|
|
|
|
|
@ -162,6 +185,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @name update
|
|
|
|
|
* @notice 请注意此方法默认更新该对象中所有不为null的属性到数据库<br>
|
|
|
|
|
* 如果不希望更新某些字段,请将其设置为null
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/10
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int update(Object obj, String table) {
|
|
|
|
|
@ -205,6 +230,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return int
|
|
|
|
|
* @name delete
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public int delete(Object obj, String table) {
|
|
|
|
|
@ -238,6 +265,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.Object
|
|
|
|
|
* @name executeQuery
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/9
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Object executeQuery(String sql, Object[] params, ResultMapper mapper) {
|
|
|
|
|
@ -291,7 +320,9 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @param clazz 用于映射结果集的实体类
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryList
|
|
|
|
|
* @notice non
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/10
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryList(String sql, Object[] params, Class clazz) {
|
|
|
|
|
@ -302,8 +333,10 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* ResultMapper的一个实现类,提供将结果集映射为一个List的方法<br>
|
|
|
|
|
* 此类的对象在使用前必须设置一个用于映射结果的实体类
|
|
|
|
|
*
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @name ListMapper
|
|
|
|
|
* @notice 如果查询结果为空,则返回一个空集合
|
|
|
|
|
* @date 2019/4/10
|
|
|
|
|
* @see com.hyc.www.dao.inter.ResultMapper
|
|
|
|
|
*/
|
|
|
|
|
LinkedList list = new LinkedList<>();
|
|
|
|
|
@ -366,6 +399,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return Object
|
|
|
|
|
* @name queryList
|
|
|
|
|
* @notice 如果查询结果为空,则返回null
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/10
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Object queryObject(String sql, Object[] params, Class clazz) {
|
|
|
|
|
@ -381,6 +416,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return 查询的字段值
|
|
|
|
|
* @name queryValue
|
|
|
|
|
* @notice 如果查询结果为空,则返回null
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/11
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public Object queryValue(String sql, Object[] params) {
|
|
|
|
|
@ -424,6 +461,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryOrderBy
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryOrderBy(String[] selectFields, String orderBy, boolean isDesc, String tableName) {
|
|
|
|
|
@ -465,6 +504,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryWhere
|
|
|
|
|
* @notice 连接词不能为not
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryWhere(String[] selectFields, Object obj, String conj, String condition) {
|
|
|
|
|
@ -507,6 +548,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryWhereAndEquals
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryWhereAndEquals(String[] selectFields, Object obj) {
|
|
|
|
|
@ -526,6 +569,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryWhereLikeAnd
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryWhereLikeAnd(String[] selectFields, Object obj) {
|
|
|
|
|
@ -544,6 +589,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryWhereLikeAnd
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryWhereLikeOr(String[] selectFields, Object obj) {
|
|
|
|
|
@ -566,6 +613,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.util.LinkedList
|
|
|
|
|
* @name queryPages
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public LinkedList queryPages(String[] selectFields, String tableName, String limit, String offset) {
|
|
|
|
|
@ -588,6 +637,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @param fieldValues 将映射的属性值返回在这个集合中
|
|
|
|
|
* @name fieldMapper
|
|
|
|
|
* @notice 只映射该对象中值不为null的属性
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/9
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void fieldMapper(Object obj, LinkedList fieldNames, LinkedList fieldValues) {
|
|
|
|
|
@ -637,6 +688,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String
|
|
|
|
|
* @name selectMapper
|
|
|
|
|
* @notice 请注意本方法产生的语句不带有预编译参数
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String selectMapper(String tableName, Object[] selectFields) {
|
|
|
|
|
@ -657,6 +710,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String 返回映射之后的预编译where语句,如where id = ? and user_name = ?
|
|
|
|
|
* @name whereMapper
|
|
|
|
|
* @notice 请注意此语句只用于追加where语句,不能单独用来查询
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String whereMapper(Object[] whereFields, String conj, String condition) {
|
|
|
|
|
@ -682,6 +737,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String 返回映射之后的预编译where语句,如where id like ? and user_name like ?
|
|
|
|
|
* @name likeMapper
|
|
|
|
|
* @notice 请注意此语句只用于追加where语句,不能单独用来查询
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String likeMapper(Object[] likeFields, String conj) {
|
|
|
|
|
@ -706,6 +763,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String
|
|
|
|
|
* @name orderByMapper
|
|
|
|
|
* @notice 请注意此语句只用于追加where语句,不能单独用来查询
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String orderByMapper(String orderBy, boolean isDesc) {
|
|
|
|
|
@ -733,6 +792,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String
|
|
|
|
|
* @name pageMapper
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String pageMapper(String limit, String offset) {
|
|
|
|
|
@ -748,6 +809,8 @@ public class SQLRunnerImpl implements SQLRunner {
|
|
|
|
|
* @return java.lang.String
|
|
|
|
|
* @name pageMapper
|
|
|
|
|
* @notice none
|
|
|
|
|
* @author <a href="mailto:kobe524348@gmail.com">黄钰朝</a>
|
|
|
|
|
* @date 2019/4/13
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public String pageOffsetMapper(String offset) {
|
|
|
|
|
|