add cms-dao
This commit is contained in:
parent
7d7807276a
commit
7147069772
|
@ -0,0 +1,55 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>cms</artifactId>
|
||||||
|
<groupId>com.zheng</groupId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>cms-dao</artifactId>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<name>cms-dao</name>
|
||||||
|
<url>http://www.zhangshuzheng.cn</url>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zheng</groupId>
|
||||||
|
<artifactId>common</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<type>jar</type>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>cms-dao</finalName>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.xml</include>
|
||||||
|
</includes>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.mybatis.generator</groupId>
|
||||||
|
<artifactId>mybatis-generator-maven-plugin</artifactId>
|
||||||
|
<version>1.3.2</version>
|
||||||
|
<configuration>
|
||||||
|
<verbose>true</verbose>
|
||||||
|
<overwrite>true</overwrite>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -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");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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<Book> 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);
|
||||||
|
}
|
|
@ -0,0 +1,181 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.zheng.mapper.BookMapper" >
|
||||||
|
<resultMap id="BaseResultMap" type="com.zheng.model.Book" >
|
||||||
|
<id column="id" property="id" jdbcType="INTEGER" />
|
||||||
|
<result column="userid" property="userid" jdbcType="INTEGER" />
|
||||||
|
<result column="name" property="name" jdbcType="VARCHAR" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Example_Where_Clause" >
|
||||||
|
<where >
|
||||||
|
<foreach collection="oredCriteria" item="criteria" separator="or" >
|
||||||
|
<if test="criteria.valid" >
|
||||||
|
<trim prefix="(" suffix=")" prefixOverrides="and" >
|
||||||
|
<foreach collection="criteria.criteria" item="criterion" >
|
||||||
|
<choose >
|
||||||
|
<when test="criterion.noValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Update_By_Example_Where_Clause" >
|
||||||
|
<where >
|
||||||
|
<foreach collection="example.oredCriteria" item="criteria" separator="or" >
|
||||||
|
<if test="criteria.valid" >
|
||||||
|
<trim prefix="(" suffix=")" prefixOverrides="and" >
|
||||||
|
<foreach collection="criteria.criteria" item="criterion" >
|
||||||
|
<choose >
|
||||||
|
<when test="criterion.noValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Base_Column_List" >
|
||||||
|
id, userid, name
|
||||||
|
</sql>
|
||||||
|
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.zheng.model.BookExample" >
|
||||||
|
select
|
||||||
|
<if test="distinct" >
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from book
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
<if test="orderByClause != null" >
|
||||||
|
order by ${orderByClause}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from book
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</select>
|
||||||
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
|
||||||
|
delete from book
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteByExample" parameterType="com.zheng.model.BookExample" >
|
||||||
|
delete from book
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</delete>
|
||||||
|
<insert id="insert" parameterType="com.zheng.model.Book" >
|
||||||
|
insert into book (id, userid, name
|
||||||
|
)
|
||||||
|
values (#{id,jdbcType=INTEGER}, #{userid,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
<insert id="insertSelective" parameterType="com.zheng.model.Book" >
|
||||||
|
insert into book
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
||||||
|
<if test="id != null" >
|
||||||
|
id,
|
||||||
|
</if>
|
||||||
|
<if test="userid != null" >
|
||||||
|
userid,
|
||||||
|
</if>
|
||||||
|
<if test="name != null" >
|
||||||
|
name,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
||||||
|
<if test="id != null" >
|
||||||
|
#{id,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="userid != null" >
|
||||||
|
#{userid,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="name != null" >
|
||||||
|
#{name,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<select id="countByExample" parameterType="com.zheng.model.BookExample" resultType="java.lang.Integer" >
|
||||||
|
select count(*) from book
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<update id="updateByExampleSelective" parameterType="map" >
|
||||||
|
update book
|
||||||
|
<set >
|
||||||
|
<if test="record.id != null" >
|
||||||
|
id = #{record.id,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.userid != null" >
|
||||||
|
userid = #{record.userid,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.name != null" >
|
||||||
|
name = #{record.name,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExample" parameterType="map" >
|
||||||
|
update book
|
||||||
|
set id = #{record.id,jdbcType=INTEGER},
|
||||||
|
userid = #{record.userid,jdbcType=INTEGER},
|
||||||
|
name = #{record.name,jdbcType=VARCHAR}
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeySelective" parameterType="com.zheng.model.Book" >
|
||||||
|
update book
|
||||||
|
<set >
|
||||||
|
<if test="userid != null" >
|
||||||
|
userid = #{userid,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="name != null" >
|
||||||
|
name = #{name,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKey" parameterType="com.zheng.model.Book" >
|
||||||
|
update book
|
||||||
|
set userid = #{userid,jdbcType=INTEGER},
|
||||||
|
name = #{name,jdbcType=VARCHAR}
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</update>
|
||||||
|
</mapper>
|
|
@ -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<User> selectByExampleWithBLOBs(UserExample example);
|
||||||
|
|
||||||
|
List<User> 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);
|
||||||
|
}
|
|
@ -0,0 +1,287 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.zheng.mapper.UserMapper" >
|
||||||
|
<resultMap id="BaseResultMap" type="com.zheng.model.User" >
|
||||||
|
<id column="id" property="id" jdbcType="INTEGER" />
|
||||||
|
<result column="username" property="username" jdbcType="VARCHAR" />
|
||||||
|
<result column="password" property="password" jdbcType="VARCHAR" />
|
||||||
|
<result column="nickname" property="nickname" jdbcType="VARCHAR" />
|
||||||
|
<result column="sex" property="sex" jdbcType="INTEGER" />
|
||||||
|
<result column="ctime" property="ctime" jdbcType="BIGINT" />
|
||||||
|
</resultMap>
|
||||||
|
<resultMap id="ResultMapWithBLOBs" type="com.zheng.model.User" extends="BaseResultMap" >
|
||||||
|
<result column="content" property="content" jdbcType="LONGVARCHAR" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Example_Where_Clause" >
|
||||||
|
<where >
|
||||||
|
<foreach collection="oredCriteria" item="criteria" separator="or" >
|
||||||
|
<if test="criteria.valid" >
|
||||||
|
<trim prefix="(" suffix=")" prefixOverrides="and" >
|
||||||
|
<foreach collection="criteria.criteria" item="criterion" >
|
||||||
|
<choose >
|
||||||
|
<when test="criterion.noValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Update_By_Example_Where_Clause" >
|
||||||
|
<where >
|
||||||
|
<foreach collection="example.oredCriteria" item="criteria" separator="or" >
|
||||||
|
<if test="criteria.valid" >
|
||||||
|
<trim prefix="(" suffix=")" prefixOverrides="and" >
|
||||||
|
<foreach collection="criteria.criteria" item="criterion" >
|
||||||
|
<choose >
|
||||||
|
<when test="criterion.noValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue" >
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue" >
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Base_Column_List" >
|
||||||
|
id, username, password, nickname, sex, ctime
|
||||||
|
</sql>
|
||||||
|
<sql id="Blob_Column_List" >
|
||||||
|
content
|
||||||
|
</sql>
|
||||||
|
<select id="selectByExampleWithBLOBs" resultMap="ResultMapWithBLOBs" parameterType="com.zheng.model.UserExample" >
|
||||||
|
select
|
||||||
|
<if test="distinct" >
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
,
|
||||||
|
<include refid="Blob_Column_List" />
|
||||||
|
from user
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
<if test="orderByClause != null" >
|
||||||
|
order by ${orderByClause}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="selectByExample" resultMap="BaseResultMap" parameterType="com.zheng.model.UserExample" >
|
||||||
|
select
|
||||||
|
<if test="distinct" >
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from user
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
<if test="orderByClause != null" >
|
||||||
|
order by ${orderByClause}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
,
|
||||||
|
<include refid="Blob_Column_List" />
|
||||||
|
from user
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</select>
|
||||||
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
|
||||||
|
delete from user
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteByExample" parameterType="com.zheng.model.UserExample" >
|
||||||
|
delete from user
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</delete>
|
||||||
|
<insert id="insert" parameterType="com.zheng.model.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>
|
||||||
|
<insert id="insertSelective" parameterType="com.zheng.model.User" >
|
||||||
|
insert into user
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides="," >
|
||||||
|
<if test="id != null" >
|
||||||
|
id,
|
||||||
|
</if>
|
||||||
|
<if test="username != null" >
|
||||||
|
username,
|
||||||
|
</if>
|
||||||
|
<if test="password != null" >
|
||||||
|
password,
|
||||||
|
</if>
|
||||||
|
<if test="nickname != null" >
|
||||||
|
nickname,
|
||||||
|
</if>
|
||||||
|
<if test="sex != null" >
|
||||||
|
sex,
|
||||||
|
</if>
|
||||||
|
<if test="ctime != null" >
|
||||||
|
ctime,
|
||||||
|
</if>
|
||||||
|
<if test="content != null" >
|
||||||
|
content,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides="," >
|
||||||
|
<if test="id != null" >
|
||||||
|
#{id,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="username != null" >
|
||||||
|
#{username,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="password != null" >
|
||||||
|
#{password,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="nickname != null" >
|
||||||
|
#{nickname,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="sex != null" >
|
||||||
|
#{sex,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="ctime != null" >
|
||||||
|
#{ctime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="content != null" >
|
||||||
|
#{content,jdbcType=LONGVARCHAR},
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<select id="countByExample" parameterType="com.zheng.model.UserExample" resultType="java.lang.Integer" >
|
||||||
|
select count(*) from user
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<update id="updateByExampleSelective" parameterType="map" >
|
||||||
|
update user
|
||||||
|
<set >
|
||||||
|
<if test="record.id != null" >
|
||||||
|
id = #{record.id,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.username != null" >
|
||||||
|
username = #{record.username,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.password != null" >
|
||||||
|
password = #{record.password,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.nickname != null" >
|
||||||
|
nickname = #{record.nickname,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="record.sex != null" >
|
||||||
|
sex = #{record.sex,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.ctime != null" >
|
||||||
|
ctime = #{record.ctime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.content != null" >
|
||||||
|
content = #{record.content,jdbcType=LONGVARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExampleWithBLOBs" parameterType="map" >
|
||||||
|
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}
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExample" parameterType="map" >
|
||||||
|
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}
|
||||||
|
<if test="_parameter != null" >
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeySelective" parameterType="com.zheng.model.User" >
|
||||||
|
update user
|
||||||
|
<set >
|
||||||
|
<if test="username != null" >
|
||||||
|
username = #{username,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="password != null" >
|
||||||
|
password = #{password,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="nickname != null" >
|
||||||
|
nickname = #{nickname,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
<if test="sex != null" >
|
||||||
|
sex = #{sex,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="ctime != null" >
|
||||||
|
ctime = #{ctime,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="content != null" >
|
||||||
|
content = #{content,jdbcType=LONGVARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=INTEGER}
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.zheng.model.User" >
|
||||||
|
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>
|
||||||
|
<update id="updateByPrimaryKey" parameterType="com.zheng.model.User" >
|
||||||
|
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}
|
||||||
|
</update>
|
||||||
|
</mapper>
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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<Criteria> oredCriteria;
|
||||||
|
|
||||||
|
public BookExample() {
|
||||||
|
oredCriteria = new ArrayList<Criteria>();
|
||||||
|
}
|
||||||
|
|
||||||
|
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<Criteria> 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<Criterion> criteria;
|
||||||
|
|
||||||
|
protected GeneratedCriteria() {
|
||||||
|
super();
|
||||||
|
criteria = new ArrayList<Criterion>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isValid() {
|
||||||
|
return criteria.size() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Criterion> getAllCriteria() {
|
||||||
|
return criteria;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Criterion> 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<Integer> values) {
|
||||||
|
addCriterion("id in", values, "id");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIdNotIn(List<Integer> 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<Integer> values) {
|
||||||
|
addCriterion("userid in", values, "userid");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUseridNotIn(List<Integer> 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<String> values) {
|
||||||
|
addCriterion("name in", values, "name");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andNameNotIn(List<String> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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<Criteria> oredCriteria;
|
||||||
|
|
||||||
|
public UserExample() {
|
||||||
|
oredCriteria = new ArrayList<Criteria>();
|
||||||
|
}
|
||||||
|
|
||||||
|
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<Criteria> 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<Criterion> criteria;
|
||||||
|
|
||||||
|
protected GeneratedCriteria() {
|
||||||
|
super();
|
||||||
|
criteria = new ArrayList<Criterion>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isValid() {
|
||||||
|
return criteria.size() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Criterion> getAllCriteria() {
|
||||||
|
return criteria;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Criterion> 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<Integer> values) {
|
||||||
|
addCriterion("id in", values, "id");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andIdNotIn(List<Integer> 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<String> values) {
|
||||||
|
addCriterion("username in", values, "username");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andUsernameNotIn(List<String> 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<String> values) {
|
||||||
|
addCriterion("password in", values, "password");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andPasswordNotIn(List<String> 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<String> values) {
|
||||||
|
addCriterion("nickname in", values, "nickname");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andNicknameNotIn(List<String> 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<Integer> values) {
|
||||||
|
addCriterion("sex in", values, "sex");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andSexNotIn(List<Integer> 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<Long> values) {
|
||||||
|
addCriterion("ctime in", values, "ctime");
|
||||||
|
return (Criteria) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Criteria andCtimeNotIn(List<Long> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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("<a class=\"prev\" href=\"" + url + "&" + param + "=" + (page - 1) + "\">上一页</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a class=\"prev\" href=\"" + url + "?" + param + "=" + (page - 1) + "\">上一页</a>\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// pages =
|
||||||
|
// pages.concat("<a class=\"prev\" href=\"javascript:;\" style=\"color:#ccc\">上一页</a>\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("<a href=\"" + url + "&" + param + "=1\">1</a> ... \n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "?" + param + "=1\">1</a> ... \n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 当前页数右侧还有未显示页码时
|
||||||
|
if (pageCount - page >= page - listBegin) {
|
||||||
|
for (int i = listBegin; i < (listBegin + step); i++) {
|
||||||
|
if (i != page) {
|
||||||
|
if (url.contains("?")) {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "&" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "?" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<span class=\"current\">" + i + "</span>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 显示最后1页
|
||||||
|
if (listBegin + step <= pageCount) {
|
||||||
|
if (url.contains("?")) {
|
||||||
|
pages = pages.concat(" ... <a href=\"" + url + "&" + param + "=" + pageCount + "\">" + pageCount + "</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat(" ... <a href=\"" + url + "?" + param + "=" + pageCount + "\">" + pageCount + "</a>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // 显示最后剩余的几个页码
|
||||||
|
for (int i = (pageCount - step) + 1; i <= pageCount; i++) {
|
||||||
|
if (i != page) {
|
||||||
|
if (url.contains("?")) {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "&" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "?" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<span class=\"current\">" + i + "</span>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // 总页数小于等于step时,直接显示
|
||||||
|
for (int i = 1; i <= pageCount; i++) {
|
||||||
|
if (i != page) {
|
||||||
|
if (url.contains("?")) {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "&" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a href=\"" + url + "?" + param + "=" + i + "\">" + i + "</a>\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<span class=\"current\">" + i + "</span>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 显示下一页
|
||||||
|
if (page < pageCount) {
|
||||||
|
if (url.contains("?")) {
|
||||||
|
pages = pages.concat("<a class=\"next\" href=\"" + url + "&" + param + "=" + (page + 1) + "\">下一页</a>\n");
|
||||||
|
} else {
|
||||||
|
pages = pages.concat("<a class=\"next\" href=\"" + url + "?" + param + "=" + (page + 1) + "\">下一页</a>\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// pages =
|
||||||
|
// pages.concat("<a class=\"next\" href=\"javascript:;\" style=\"color:#ccc\">下一页</a>\n");
|
||||||
|
}
|
||||||
|
return pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:aop="http://www.springframework.org/schema/aop"
|
||||||
|
xmlns:tx="http://www.springframework.org/schema/tx"
|
||||||
|
xmlns:context="http://www.springframework.org/schema/context"
|
||||||
|
xsi:schemaLocation="
|
||||||
|
http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans.xsd
|
||||||
|
http://www.springframework.org/schema/tx
|
||||||
|
http://www.springframework.org/schema/tx/spring-tx.xsd
|
||||||
|
http://www.springframework.org/schema/context
|
||||||
|
http://www.springframework.org/schema/context/spring-context.xsd
|
||||||
|
http://www.springframework.org/schema/aop
|
||||||
|
http://www.springframework.org/schema/aop/spring-aop.xsd">
|
||||||
|
|
||||||
|
<!-- 引入jdbc配置文件 -->
|
||||||
|
<context:property-placeholder location="classpath:jdbc.properties" />
|
||||||
|
|
||||||
|
<!-- 连接池配置 -->
|
||||||
|
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
|
||||||
|
<!-- 基本属性 url、user、password -->
|
||||||
|
<property name="driverClassName" value="${jdbc.driver}" />
|
||||||
|
<property name="url" value="${jdbc.url}" />
|
||||||
|
<property name="username" value="${jdbc.username}" />
|
||||||
|
<property name="password" value="${jdbc.password}" />
|
||||||
|
<!-- 配置初始化大小、最小、最大 -->
|
||||||
|
<property name="initialSize" value="1" />
|
||||||
|
<property name="minIdle" value="1" />
|
||||||
|
<property name="maxActive" value="20" />
|
||||||
|
<!-- 配置获取连接等待超时的时间 -->
|
||||||
|
<property name="maxWait" value="60000" />
|
||||||
|
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
|
||||||
|
<property name="timeBetweenEvictionRunsMillis" value="60000" />
|
||||||
|
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
|
||||||
|
<property name="minEvictableIdleTimeMillis" value="300000" />
|
||||||
|
<!-- -->
|
||||||
|
<property name="validationQuery" value="SELECT 1" />
|
||||||
|
<property name="testWhileIdle" value="true" />
|
||||||
|
<property name="testOnBorrow" value="false" />
|
||||||
|
<property name="testOnReturn" value="false" />
|
||||||
|
<!-- 配置监控统计拦截的filters -->
|
||||||
|
<property name="filters" value="stat" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<!-- 为Mybatis创建SqlSessionFactory,同时指定数据源 -->
|
||||||
|
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
|
||||||
|
<property name="dataSource" ref="dataSource" />
|
||||||
|
<property name="configLocation" value="classpath:mybatis-config.xml" />
|
||||||
|
<property name="mapperLocations" value="classpath:com/zheng/mapper/*Mapper.xml" />
|
||||||
|
</bean>
|
||||||
|
<!-- Mapper接口所在包名,Spring会自动查找其下的Mapper -->
|
||||||
|
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
|
||||||
|
<property name="basePackage" value="com.zheng.mapper" />
|
||||||
|
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
|
||||||
|
<property name="dataSource" ref="dataSource" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<!-- 启动注解事务 -->
|
||||||
|
<tx:annotation-driven transaction-manager="transactionManager"/>
|
||||||
|
|
||||||
|
</beans>
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
|
||||||
|
<generatorConfiguration>
|
||||||
|
|
||||||
|
<!-- 配置文件 -->
|
||||||
|
<properties resource="jdbc.properties"></properties>
|
||||||
|
|
||||||
|
<!-- mysql驱动包 -->
|
||||||
|
<classPathEntry location="C:\Users\shuzheng\.m2\repository\mysql\mysql-connector-java\5.1.34\mysql-connector-java-5.1.34.jar" />
|
||||||
|
|
||||||
|
<context id="context" targetRuntime="MyBatis3">
|
||||||
|
|
||||||
|
<!-- 去掉注释 -->
|
||||||
|
<commentGenerator>
|
||||||
|
<property name="suppressAllComments" value="true" />
|
||||||
|
</commentGenerator>
|
||||||
|
|
||||||
|
<!-- 数据库连接 -->
|
||||||
|
<jdbcConnection driverClass="${jdbc.driver}"
|
||||||
|
connectionURL="${jdbc.url}"
|
||||||
|
userId="${jdbc.username}"
|
||||||
|
password="${jdbc.password}" />
|
||||||
|
|
||||||
|
<!-- model生成 -->
|
||||||
|
<javaModelGenerator targetPackage="com.zheng.model" targetProject="src/main/java" />
|
||||||
|
|
||||||
|
<!-- MapperXML生成 -->
|
||||||
|
<sqlMapGenerator targetPackage="com.zheng.mapper" targetProject="src/main/java" />
|
||||||
|
|
||||||
|
<!-- Mapper接口生成 -->
|
||||||
|
<javaClientGenerator targetPackage="com.zheng.mapper" targetProject="src/main/java" type="XMLMAPPER" />
|
||||||
|
|
||||||
|
<!-- 需要映射的表 -->
|
||||||
|
<table tableName="user" domainObjectName="User"></table>
|
||||||
|
<table tableName="book" domainObjectName="Book"></table>
|
||||||
|
</context>
|
||||||
|
</generatorConfiguration>
|
|
@ -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
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||||
|
|
||||||
|
<configuration>
|
||||||
|
|
||||||
|
<!-- 该包下的model不用写包名,会使用 model的首字母小写的非限定类名来作为它的别名,若有注解@Alias("xxx"),则别名为注解值 -->
|
||||||
|
<typeAliases>
|
||||||
|
<package name="com.zheng.model" />
|
||||||
|
</typeAliases>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<!-- 手写分页拦截器 -->
|
||||||
|
<plugin interceptor="com.zheng.interceptor.PageInterceptor">
|
||||||
|
<property name="pageSqlId" value=".*All$" />
|
||||||
|
</plugin>
|
||||||
|
<!-- 分页插件 -->
|
||||||
|
<!-- com.github.pagehelper为PageHelper类所在包名 -->
|
||||||
|
<plugin interceptor="com.github.pagehelper.PageHelper">
|
||||||
|
<!-- 4.0.0以后版本可以不设置该参数 -->
|
||||||
|
<property name="dialect" value="mysql" />
|
||||||
|
<!-- 该参数默认为false -->
|
||||||
|
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
|
||||||
|
<!-- 和startPage中的pageNum效果一样 -->
|
||||||
|
<property name="offsetAsPageNum" value="true" />
|
||||||
|
<!-- 该参数默认为false -->
|
||||||
|
<!-- 设置为true时,使用RowBounds分页会进行count查询 -->
|
||||||
|
<property name="rowBoundsWithCount" value="true" />
|
||||||
|
<!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 -->
|
||||||
|
<!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) -->
|
||||||
|
<property name="pageSizeZero" value="true" />
|
||||||
|
<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
|
||||||
|
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
|
||||||
|
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
|
||||||
|
<property name="reasonable" value="false" />
|
||||||
|
<!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
|
||||||
|
<!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
|
||||||
|
<!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 -->
|
||||||
|
<!-- 不理解该含义的前提下,不要随便复制该配置 -->
|
||||||
|
<property name="params" value="pageNum=pageHelperStart;pageSize=pageHelperRows;" />
|
||||||
|
<!-- 支持通过Mapper接口参数来传递分页参数 -->
|
||||||
|
<property name="supportMethodsArguments" value="false" />
|
||||||
|
<!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page -->
|
||||||
|
<property name="returnPageInfo" value="none" />
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
|
||||||
|
</configuration>
|
|
@ -14,4 +14,7 @@
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>cms-dao</module>
|
||||||
|
</modules>
|
||||||
</project>
|
</project>
|
Loading…
Reference in New Issue