user-mapper.xml 2.3 KB
<?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">

<!-- 管理员 @author 仝玉甫 -->
<mapper namespace="com.cjs.cms.dao.user.UserDao">

	<sql id="users_field">
		users.id, truename, username, password, role_id, login_count, create_time, state, last_login_time
	</sql>

	<sql id="searchCondition">
		<if test="truename != null and truename != ''"> and truename like concat('%', #{truename}, '%') </if>
		<if test="username != null and username != ''"> and username like concat('%', #{username}, '%') </if>
		<if test="state != all"> and state = #{state}</if>
	</sql>
	<select id="search" parameterType="map" resultType="UserInfo">
		select
		<include refid="users_field" />, role_name as roleName
		from users, role  where users.role_id = role.id
		<include refid="searchCondition" />
		order by users.id desc
		<include refid="common.pageLimit" />
	</select>


	<select id="searchTotal" parameterType="map" resultType="int">
		select count(*)
		from users , role  where users.role_id = role.id
		<include refid="searchCondition" />
	</select>

	<insert id="save" parameterType="UserInfo">
		insert into users (truename,
		username, password, create_time, role_id, state)
		value (#{truename}, #{username},
		#{password}, now(), #{roleId}, #{state})
	</insert>

	<update id="update" parameterType="UserInfo">
		update users set
		truename = #{truename}, username = #{username}, state = #{state}, role_id=#{roleId}
		where id = #{id}
	</update>

	<delete id="delete" parameterType="int">
		delete from users 
		where id = #{id}
	</delete>

	<select id="queryById" parameterType="int" resultType="UserInfo">
		select
		<include refid="users_field" />
		from users
		where id = #{id}
	</select>

	<!-- 登录 -->
	<select id="login" parameterType="UserInfo" resultType="UserInfo">
		select
		<include refid="users_field" />
		from users
		where username = #{username} and password = #{password} and
		state = 1
	</select>

	<!-- 登录次数+1 -->
	<update id="updateLoginCount" parameterType="int">
		update users set
		login_count = login_count + 1,last_login_time = now()
		where id = #{id}
	</update>
	
	<update id="updatePassword" parameterType="UserInfo">
		update users set
		password = #{password}
		where username = #{username}
	</update>
</mapper>