diff --git a/cms/cms-dao/pom.xml b/cms/cms-dao/pom.xml new file mode 100644 index 00000000..ce16bb9d --- /dev/null +++ b/cms/cms-dao/pom.xml @@ -0,0 +1,55 @@ + + + cms + com.zheng + 1.0.0 + + 4.0.0 + + cms-dao + jar + + cms-dao + http://www.zhangshuzheng.cn + + + UTF-8 + + + + + com.zheng + common + 1.0.0 + jar + + + + + cms-dao + + + src/main/java + + **/*.xml + + true + + + src/main/resources + + + + + org.mybatis.generator + mybatis-generator-maven-plugin + 1.3.2 + + true + true + + + + + diff --git a/cms/cms-dao/src/main/java/com/zheng/interceptor/PageInterceptor.java b/cms/cms-dao/src/main/java/com/zheng/interceptor/PageInterceptor.java new file mode 100644 index 00000000..6d7ebc63 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/interceptor/PageInterceptor.java @@ -0,0 +1,77 @@ +package com.zheng.interceptor; + +import java.sql.Connection; +import java.util.Map; +import java.util.Properties; + +import org.apache.ibatis.executor.statement.StatementHandler; +import org.apache.ibatis.mapping.BoundSql; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.plugin.Interceptor; +import org.apache.ibatis.plugin.Intercepts; +import org.apache.ibatis.plugin.Invocation; +import org.apache.ibatis.plugin.Plugin; +import org.apache.ibatis.plugin.Signature; +import org.apache.ibatis.reflection.MetaObject; +import org.apache.ibatis.reflection.SystemMetaObject; + +import com.zheng.util.Paginator; + + +/** + * 分页拦截器 + * @author shuzheng + * @date 2016年7月6日 下午6:04:12 + */ +@Intercepts({ + @Signature( + type = StatementHandler.class, + method = "prepare", + args = {Connection.class } + ) +}) +public class PageInterceptor implements Interceptor { + + private String pageSqlId; + + @Override + public Object intercept(Invocation invocation) throws Throwable { + // 拦截的对象 + StatementHandler statementHandler = (StatementHandler) invocation.getTarget(); + // 通过反射拿到拦截对象的sqlid + MetaObject metaObject = MetaObject.forObject(statementHandler, SystemMetaObject.DEFAULT_OBJECT_FACTORY, SystemMetaObject.DEFAULT_OBJECT_WRAPPER_FACTORY); + MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement"); + // 配置文件中SQL语句的ID + String id = mappedStatement.getId(); + // 如果SQL的ID符合我们的过滤正则表达式 + if (id.matches(pageSqlId)) { + BoundSql boundSql = statementHandler.getBoundSql(); + // 原始的SQL语句 + String sql = boundSql.getSql(); + Map parameter = (Map) boundSql.getParameterObject(); + // 有参数对象才能进行 + if (parameter != null) { + Paginator paginator = (Paginator) parameter.get("paginator"); + // 有分页对象,则改造为带分页查询的SQL语句 + if (paginator != null) { + String pageSql = sql + " limit " + (paginator.getPage() - 1) * paginator.getRows() + "," + paginator.getRows(); + metaObject.setValue("delegate.boundSql.sql", pageSql); + } + } + } + return invocation.proceed(); + } + + @Override + public Object plugin(Object target) { + // 拦截的对象是否需要代理,如果是则执行intercept方法增强,不是则直接放行 + return Plugin.wrap(target, this); + } + + @Override + public void setProperties(Properties properties) { + // 初始化拦截器的配置 + this.pageSqlId = properties.getProperty("pageSqlId"); + } + +} diff --git a/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.java b/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.java new file mode 100644 index 00000000..78bc6613 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.java @@ -0,0 +1,30 @@ +package com.zheng.mapper; + +import com.zheng.model.Book; +import com.zheng.model.BookExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface BookMapper { + int countByExample(BookExample example); + + int deleteByExample(BookExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(Book record); + + int insertSelective(Book record); + + List selectByExample(BookExample example); + + Book selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") Book record, @Param("example") BookExample example); + + int updateByExample(@Param("record") Book record, @Param("example") BookExample example); + + int updateByPrimaryKeySelective(Book record); + + int updateByPrimaryKey(Book record); +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.xml b/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.xml new file mode 100644 index 00000000..082eae0b --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/mapper/BookMapper.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, userid, name + + + + + delete from book + where id = #{id,jdbcType=INTEGER} + + + delete from book + + + + + + insert into book (id, userid, name + ) + values (#{id,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR} + ) + + + insert into book + + + id, + + + userid, + + + name, + + + + + #{id,jdbcType=INTEGER}, + + + #{userid,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + + + + update book + + + id = #{record.id,jdbcType=INTEGER}, + + + userid = #{record.userid,jdbcType=INTEGER}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + + + + + + update book + set id = #{record.id,jdbcType=INTEGER}, + userid = #{record.userid,jdbcType=INTEGER}, + name = #{record.name,jdbcType=VARCHAR} + + + + + + update book + + + userid = #{userid,jdbcType=INTEGER}, + + + name = #{name,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update book + set userid = #{userid,jdbcType=INTEGER}, + name = #{name,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.java b/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.java new file mode 100644 index 00000000..abb7e579 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.java @@ -0,0 +1,36 @@ +package com.zheng.mapper; + +import com.zheng.model.User; +import com.zheng.model.UserExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface UserMapper { + int countByExample(UserExample example); + + int deleteByExample(UserExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(User record); + + int insertSelective(User record); + + List selectByExampleWithBLOBs(UserExample example); + + List selectByExample(UserExample example); + + User selectByPrimaryKey(Integer id); + + int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example); + + int updateByExampleWithBLOBs(@Param("record") User record, @Param("example") UserExample example); + + int updateByExample(@Param("record") User record, @Param("example") UserExample example); + + int updateByPrimaryKeySelective(User record); + + int updateByPrimaryKeyWithBLOBs(User record); + + int updateByPrimaryKey(User record); +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.xml b/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.xml new file mode 100644 index 00000000..03ada7d3 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/mapper/UserMapper.xml @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, username, password, nickname, sex, ctime + + + content + + + + + + delete from user + where id = #{id,jdbcType=INTEGER} + + + delete from user + + + + + + insert into user (id, username, password, + nickname, sex, ctime, + content) + values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, + #{nickname,jdbcType=VARCHAR}, #{sex,jdbcType=INTEGER}, #{ctime,jdbcType=BIGINT}, + #{content,jdbcType=LONGVARCHAR}) + + + insert into user + + + id, + + + username, + + + password, + + + nickname, + + + sex, + + + ctime, + + + content, + + + + + #{id,jdbcType=INTEGER}, + + + #{username,jdbcType=VARCHAR}, + + + #{password,jdbcType=VARCHAR}, + + + #{nickname,jdbcType=VARCHAR}, + + + #{sex,jdbcType=INTEGER}, + + + #{ctime,jdbcType=BIGINT}, + + + #{content,jdbcType=LONGVARCHAR}, + + + + + + update user + + + id = #{record.id,jdbcType=INTEGER}, + + + username = #{record.username,jdbcType=VARCHAR}, + + + password = #{record.password,jdbcType=VARCHAR}, + + + nickname = #{record.nickname,jdbcType=VARCHAR}, + + + sex = #{record.sex,jdbcType=INTEGER}, + + + ctime = #{record.ctime,jdbcType=BIGINT}, + + + content = #{record.content,jdbcType=LONGVARCHAR}, + + + + + + + + update user + set id = #{record.id,jdbcType=INTEGER}, + username = #{record.username,jdbcType=VARCHAR}, + password = #{record.password,jdbcType=VARCHAR}, + nickname = #{record.nickname,jdbcType=VARCHAR}, + sex = #{record.sex,jdbcType=INTEGER}, + ctime = #{record.ctime,jdbcType=BIGINT}, + content = #{record.content,jdbcType=LONGVARCHAR} + + + + + + update user + set id = #{record.id,jdbcType=INTEGER}, + username = #{record.username,jdbcType=VARCHAR}, + password = #{record.password,jdbcType=VARCHAR}, + nickname = #{record.nickname,jdbcType=VARCHAR}, + sex = #{record.sex,jdbcType=INTEGER}, + ctime = #{record.ctime,jdbcType=BIGINT} + + + + + + update user + + + username = #{username,jdbcType=VARCHAR}, + + + password = #{password,jdbcType=VARCHAR}, + + + nickname = #{nickname,jdbcType=VARCHAR}, + + + sex = #{sex,jdbcType=INTEGER}, + + + ctime = #{ctime,jdbcType=BIGINT}, + + + content = #{content,jdbcType=LONGVARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + update user + set username = #{username,jdbcType=VARCHAR}, + password = #{password,jdbcType=VARCHAR}, + nickname = #{nickname,jdbcType=VARCHAR}, + sex = #{sex,jdbcType=INTEGER}, + ctime = #{ctime,jdbcType=BIGINT}, + content = #{content,jdbcType=LONGVARCHAR} + where id = #{id,jdbcType=INTEGER} + + + update user + set username = #{username,jdbcType=VARCHAR}, + password = #{password,jdbcType=VARCHAR}, + nickname = #{nickname,jdbcType=VARCHAR}, + sex = #{sex,jdbcType=INTEGER}, + ctime = #{ctime,jdbcType=BIGINT} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/model/Book.java b/cms/cms-dao/src/main/java/com/zheng/model/Book.java new file mode 100644 index 00000000..4c5eaa65 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/model/Book.java @@ -0,0 +1,33 @@ +package com.zheng.model; + +public class Book { + private Integer id; + + private Integer userid; + + private String name; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getUserid() { + return userid; + } + + public void setUserid(Integer userid) { + this.userid = userid; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/model/BookExample.java b/cms/cms-dao/src/main/java/com/zheng/model/BookExample.java new file mode 100644 index 00000000..64145fd2 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/model/BookExample.java @@ -0,0 +1,390 @@ +package com.zheng.model; + +import java.util.ArrayList; +import java.util.List; + +public class BookExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public BookExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUseridIsNull() { + addCriterion("userid is null"); + return (Criteria) this; + } + + public Criteria andUseridIsNotNull() { + addCriterion("userid is not null"); + return (Criteria) this; + } + + public Criteria andUseridEqualTo(Integer value) { + addCriterion("userid =", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotEqualTo(Integer value) { + addCriterion("userid <>", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThan(Integer value) { + addCriterion("userid >", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridGreaterThanOrEqualTo(Integer value) { + addCriterion("userid >=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThan(Integer value) { + addCriterion("userid <", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridLessThanOrEqualTo(Integer value) { + addCriterion("userid <=", value, "userid"); + return (Criteria) this; + } + + public Criteria andUseridIn(List values) { + addCriterion("userid in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotIn(List values) { + addCriterion("userid not in", values, "userid"); + return (Criteria) this; + } + + public Criteria andUseridBetween(Integer value1, Integer value2) { + addCriterion("userid between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andUseridNotBetween(Integer value1, Integer value2) { + addCriterion("userid not between", value1, value2, "userid"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/model/User.java b/cms/cms-dao/src/main/java/com/zheng/model/User.java new file mode 100644 index 00000000..9ee023e5 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/model/User.java @@ -0,0 +1,73 @@ +package com.zheng.model; + +public class User { + private Integer id; + + private String username; + + private String password; + + private String nickname; + + private Integer sex; + + private Long ctime; + + private String content; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getNickname() { + return nickname; + } + + public void setNickname(String nickname) { + this.nickname = nickname; + } + + public Integer getSex() { + return sex; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public Long getCtime() { + return ctime; + } + + public void setCtime(Long ctime) { + this.ctime = ctime; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/model/UserExample.java b/cms/cms-dao/src/main/java/com/zheng/model/UserExample.java new file mode 100644 index 00000000..88756118 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/model/UserExample.java @@ -0,0 +1,590 @@ +package com.zheng.model; + +import java.util.ArrayList; +import java.util.List; + +public class UserExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public UserExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUsernameIsNull() { + addCriterion("username is null"); + return (Criteria) this; + } + + public Criteria andUsernameIsNotNull() { + addCriterion("username is not null"); + return (Criteria) this; + } + + public Criteria andUsernameEqualTo(String value) { + addCriterion("username =", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotEqualTo(String value) { + addCriterion("username <>", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThan(String value) { + addCriterion("username >", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameGreaterThanOrEqualTo(String value) { + addCriterion("username >=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThan(String value) { + addCriterion("username <", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLessThanOrEqualTo(String value) { + addCriterion("username <=", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameLike(String value) { + addCriterion("username like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotLike(String value) { + addCriterion("username not like", value, "username"); + return (Criteria) this; + } + + public Criteria andUsernameIn(List values) { + addCriterion("username in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotIn(List values) { + addCriterion("username not in", values, "username"); + return (Criteria) this; + } + + public Criteria andUsernameBetween(String value1, String value2) { + addCriterion("username between", value1, value2, "username"); + return (Criteria) this; + } + + public Criteria andUsernameNotBetween(String value1, String value2) { + addCriterion("username not between", value1, value2, "username"); + return (Criteria) this; + } + + public Criteria andPasswordIsNull() { + addCriterion("password is null"); + return (Criteria) this; + } + + public Criteria andPasswordIsNotNull() { + addCriterion("password is not null"); + return (Criteria) this; + } + + public Criteria andPasswordEqualTo(String value) { + addCriterion("password =", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotEqualTo(String value) { + addCriterion("password <>", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThan(String value) { + addCriterion("password >", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThanOrEqualTo(String value) { + addCriterion("password >=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThan(String value) { + addCriterion("password <", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThanOrEqualTo(String value) { + addCriterion("password <=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLike(String value) { + addCriterion("password like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotLike(String value) { + addCriterion("password not like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordIn(List values) { + addCriterion("password in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotIn(List values) { + addCriterion("password not in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordBetween(String value1, String value2) { + addCriterion("password between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotBetween(String value1, String value2) { + addCriterion("password not between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andNicknameIsNull() { + addCriterion("nickname is null"); + return (Criteria) this; + } + + public Criteria andNicknameIsNotNull() { + addCriterion("nickname is not null"); + return (Criteria) this; + } + + public Criteria andNicknameEqualTo(String value) { + addCriterion("nickname =", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameNotEqualTo(String value) { + addCriterion("nickname <>", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameGreaterThan(String value) { + addCriterion("nickname >", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameGreaterThanOrEqualTo(String value) { + addCriterion("nickname >=", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameLessThan(String value) { + addCriterion("nickname <", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameLessThanOrEqualTo(String value) { + addCriterion("nickname <=", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameLike(String value) { + addCriterion("nickname like", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameNotLike(String value) { + addCriterion("nickname not like", value, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameIn(List values) { + addCriterion("nickname in", values, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameNotIn(List values) { + addCriterion("nickname not in", values, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameBetween(String value1, String value2) { + addCriterion("nickname between", value1, value2, "nickname"); + return (Criteria) this; + } + + public Criteria andNicknameNotBetween(String value1, String value2) { + addCriterion("nickname not between", value1, value2, "nickname"); + return (Criteria) this; + } + + public Criteria andSexIsNull() { + addCriterion("sex is null"); + return (Criteria) this; + } + + public Criteria andSexIsNotNull() { + addCriterion("sex is not null"); + return (Criteria) this; + } + + public Criteria andSexEqualTo(Integer value) { + addCriterion("sex =", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexNotEqualTo(Integer value) { + addCriterion("sex <>", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexGreaterThan(Integer value) { + addCriterion("sex >", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexGreaterThanOrEqualTo(Integer value) { + addCriterion("sex >=", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexLessThan(Integer value) { + addCriterion("sex <", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexLessThanOrEqualTo(Integer value) { + addCriterion("sex <=", value, "sex"); + return (Criteria) this; + } + + public Criteria andSexIn(List values) { + addCriterion("sex in", values, "sex"); + return (Criteria) this; + } + + public Criteria andSexNotIn(List values) { + addCriterion("sex not in", values, "sex"); + return (Criteria) this; + } + + public Criteria andSexBetween(Integer value1, Integer value2) { + addCriterion("sex between", value1, value2, "sex"); + return (Criteria) this; + } + + public Criteria andSexNotBetween(Integer value1, Integer value2) { + addCriterion("sex not between", value1, value2, "sex"); + return (Criteria) this; + } + + public Criteria andCtimeIsNull() { + addCriterion("ctime is null"); + return (Criteria) this; + } + + public Criteria andCtimeIsNotNull() { + addCriterion("ctime is not null"); + return (Criteria) this; + } + + public Criteria andCtimeEqualTo(Long value) { + addCriterion("ctime =", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeNotEqualTo(Long value) { + addCriterion("ctime <>", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeGreaterThan(Long value) { + addCriterion("ctime >", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeGreaterThanOrEqualTo(Long value) { + addCriterion("ctime >=", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeLessThan(Long value) { + addCriterion("ctime <", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeLessThanOrEqualTo(Long value) { + addCriterion("ctime <=", value, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeIn(List values) { + addCriterion("ctime in", values, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeNotIn(List values) { + addCriterion("ctime not in", values, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeBetween(Long value1, Long value2) { + addCriterion("ctime between", value1, value2, "ctime"); + return (Criteria) this; + } + + public Criteria andCtimeNotBetween(Long value1, Long value2) { + addCriterion("ctime not between", value1, value2, "ctime"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/cms/cms-dao/src/main/java/com/zheng/util/Paginator.java b/cms/cms-dao/src/main/java/com/zheng/util/Paginator.java new file mode 100644 index 00000000..dc14ed10 --- /dev/null +++ b/cms/cms-dao/src/main/java/com/zheng/util/Paginator.java @@ -0,0 +1,229 @@ +package com.zheng.util; + + +/** + * 分页实体类 + * @author shuzheng + * @date 2016年7月6日 下午6:05:00 + */ +public class Paginator { + + private long total = 0l; // 总记录数 + private int page = 1; // 当前页数 + private long totalPage = 1; // 总页数 + private int rows = 10; // 每页记录数 + private int step = 5; // 最多显示分页页码数 + private String param = "page"; // 分页参数名称,用于支持一个页面多个分页功能 + private String url = ""; // 项目路径 + private String query = ""; // 当前页所有参数 + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + this.initTotalPage(); + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public long getTotalPage() { + return totalPage; + } + + public void setTotalPage(long totalPage) { + this.totalPage = totalPage; + } + + public int getRows() { + return rows; + } + + public void setRows(int rows) { + // 设置个最大记录数,限制单页记录过多 + if (rows > 10000) { + rows = 10000; + } + this.rows = rows; + this.initTotalPage(); + } + + public int getStep() { + return step; + } + + public void setStep(int step) { + this.step = step; + } + + public String getParam() { + return param; + } + + public void setParam(String param) { + this.param = param; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getQuery() { + return query; + } + + public void setQuery(String query) { + this.query = query; + } + + /** + * 初始化分页信息 + */ + public void initTotalPage() { + totalPage = (total % rows) == 0 ? (total / rows) : ((total / rows) + 1); + if (page > totalPage) { + page = (int) totalPage; + } + if (page < 1) { + page = 1; + } + } + + /** + * 生成简单的分页页面内容 + * @return + */ + public String getHtml() { + // 根据request获取当前url,包括参数,如果有已存在名称未paramname的参数,剔除掉,后面会追加新的参数 + //String contextPath = request.getContextPath(); + //String requestURI = request.getRequestURI(); + //String url = contextPath + requestURI; + //String url = request.getRequestURI(); + //String query = request.getQueryString(); + if (query != null) { + String params = ""; + String[] querys = query.split("&"); + for (int i = 0; i < querys.length; i++) { + if (querys[i].startsWith(param)) + continue; + if (params.equals("")) + params += querys[i]; + else + params += "&" + querys[i]; + } + if (!params.equals("")) + url += "?" + params; + } + // 结果html + String pages = ""; + + int pageCount = (int) Math.ceil((double) total / rows);// 求总页数 + if (pageCount <= 1) { + return pages; + } + if (page > pageCount) { + page = pageCount;// 如果分页变量大总页数,则将分页变量设计为总页数 + } + if (page <= 0) { + page = 1;// 如果分页变量小于1,则将分页变量设为1 + } + + // 显示上一页 + if (page > 1) { + if (url.contains("?")) { + pages = pages.concat("上一页\n"); + } else { + pages = pages.concat("上一页\n"); + } + } else { + // pages = + // pages.concat("上一页\n"); + } + // 如果总页数大于要显示的个数,则拼接显示 + if (pageCount > step) { + // 显示分页码 + int listBegin = (page - (int) Math.floor((double) step / 2));// 从第几页开始显示分页信息 + if (listBegin < 1) { + listBegin = 1; + } + // 显示第1页 + if (listBegin >= 2) { + if (url.contains("?")) { + pages = pages.concat("1 ... \n"); + } else { + pages = pages.concat("1 ... \n"); + } + } + // 当前页数右侧还有未显示页码时 + if (pageCount - page >= page - listBegin) { + for (int i = listBegin; i < (listBegin + step); i++) { + if (i != page) { + if (url.contains("?")) { + pages = pages.concat("" + i + "\n"); + } else { + pages = pages.concat("" + i + "\n"); + } + } else { + pages = pages.concat("" + i + "\n"); + } + } + // 显示最后1页 + if (listBegin + step <= pageCount) { + if (url.contains("?")) { + pages = pages.concat(" ... " + pageCount + "\n"); + } else { + pages = pages.concat(" ... " + pageCount + "\n"); + } + } + } else { // 显示最后剩余的几个页码 + for (int i = (pageCount - step) + 1; i <= pageCount; i++) { + if (i != page) { + if (url.contains("?")) { + pages = pages.concat("" + i + "\n"); + } else { + pages = pages.concat("" + i + "\n"); + } + } else { + pages = pages.concat("" + i + "\n"); + } + } + } + } else { // 总页数小于等于step时,直接显示 + for (int i = 1; i <= pageCount; i++) { + if (i != page) { + if (url.contains("?")) { + pages = pages.concat("" + i + "\n"); + } else { + pages = pages.concat("" + i + "\n"); + } + } else { + pages = pages.concat("" + i + "\n"); + } + } + } + // 显示下一页 + if (page < pageCount) { + if (url.contains("?")) { + pages = pages.concat("下一页\n"); + } else { + pages = pages.concat("下一页\n"); + } + } else { + // pages = + // pages.concat("下一页\n"); + } + return pages; + } + +} diff --git a/cms/cms-dao/src/main/resources/applicationContext-jdbc.xml b/cms/cms-dao/src/main/resources/applicationContext-jdbc.xml new file mode 100644 index 00000000..d5ca07ce --- /dev/null +++ b/cms/cms-dao/src/main/resources/applicationContext-jdbc.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cms/cms-dao/src/main/resources/generatorConfig.xml b/cms/cms-dao/src/main/resources/generatorConfig.xml new file mode 100644 index 00000000..60d9e1b3 --- /dev/null +++ b/cms/cms-dao/src/main/resources/generatorConfig.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
\ No newline at end of file diff --git a/cms/cms-dao/src/main/resources/jdbc.properties b/cms/cms-dao/src/main/resources/jdbc.properties new file mode 100644 index 00000000..86f767dc --- /dev/null +++ b/cms/cms-dao/src/main/resources/jdbc.properties @@ -0,0 +1,4 @@ +jdbc.driver=com.mysql.jdbc.Driver +jdbc.url=jdbc\:mysql\://127.0.0.1\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true +jdbc.username=root +jdbc.password=123456 \ No newline at end of file diff --git a/cms/cms-dao/src/main/resources/mybatis-config.xml b/cms/cms-dao/src/main/resources/mybatis-config.xml new file mode 100644 index 00000000..7fbc3529 --- /dev/null +++ b/cms/cms-dao/src/main/resources/mybatis-config.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cms/pom.xml b/cms/pom.xml index 1354d031..a8c082d1 100644 --- a/cms/pom.xml +++ b/cms/pom.xml @@ -14,4 +14,7 @@ UTF-8 + + cms-dao + \ No newline at end of file