Dao层
package com.shop.dao; import com.shop.bean.LocalUser; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.Date; /** * Created by Skye on 2018/5/13. */ @Repository public interface LocalUserDao { /** * 根据传入的用户名和密码查询对应的信息,登录时使用 * @param username * @param password * @return */ LocalUser queryLocalUserByUserNameAndPWd(@Param( "username" ) String username, @Param( "password" ) String password); /** * 通过userId查询用户信息 * @param userId * @return */ LocalUser queryLocalUserByUserId(@Param( "userId" ) long userId); /** * 添加本地账号 * @param localUser * @return */ int insertLocalUser(LocalUser localUser); /** * 通过userId,username,password确定要修改密码的用户,然后进行密码的修改 * @param userId * @param username * @param password * @param newPassword * @param lastEditTime * @return */ int updateLocalUser(@Param( "userId" ) Long userId, @Param( "username" ) String username, @Param( "password" ) String password, @Param( "newPassword" ) String newPassword, @Param( "lastEditTime" ) Date lastEditTime); }
Dao.xml
<?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.shop.dao.LocalUserDao"> <resultMap id="localUserResultMap" type="com.shop.bean.LocalUser"> <id column="local_user_id" property="localUserId"/> <result column="user_name" property="userName"/> <result column="password" property="password"/> <result column="create_time" property="createTime"/> <result column="last_edit_time" property="lastEditTime"/> <association column="user_id" property="personInfo" javaType="com.shop.bean.PersonInfo"> <id column="user_id" property="userId"/> <result column="user_name" property="userName"/> <result column="gender" property="gender"/> <result column="email" property="email"/> <result column="photo" property="photo"/> <result column="user_type" property="userType"/> <result column="create_time" property="createTime"/> <result column="last_edit_time" property="lastEditTime"/> <result column="status" property="status"/> </association> </resultMap> <!--LocalUser queryLocalUserByUserNameAndPWd(@Param( "username" ) String username, @Param( "password" ) String password);--> <select id="queryLocalUserByUserNameAndPWd" resultType="localUserResultMap"> SELECT l.local_user_id, l.user_name, l.password, l.create_time, l.last_edit_time, p.user_id, p.user_name, p.gender, p.email, p.photo, p.user_type, p.create_time, p.last_edit_time, p.status FROM local_user l LEFT JOIN person_info WHERE l.user_name=#{username} AND l.password=#{password} </select> <!--LocalUser queryLocalUserByUserId(long userId);--> <select id="queryLocalUserByUserId" resultType="localUserResultMap"> SELECT l.local_user_id, l.user_name, l.password, l.create_time, l.last_edit_time, p.user_id, p.user_name, p.gender, p.email, p.photo, p.user_type, p.create_time, p.last_edit_time, p.status FROM local_user l LEFT JOIN person_info WHERE l.user_id=#{userId} </select> <!--int insertLocalUser(LocalUser localUser);--> <insert id="insertLocalUser" parameterType="com.shop.bean.LocalUser" useGeneratedKeys="true" keyColumn="local_user_id" keyProperty="localUserId"> INSERT INTO local_user local_user(user_name, password, user_id, create_time, last_edit_time) VALUES(#{userName}, #{password}, #{personInfo.userId}, #{createTime}, #{lastEditTime}) </insert> <!--int updateLocalUser(@Param( "userId" ) Long userId, @Param( "username" ) String username, @Param( "password" ) String password, @Param( "newPassword" ) String newPassword, @Param( "lastEditTime" ) Date lastEditTime);--> <update id="updateLocalUser"> UPDATE local_user <set> <if test="newPassword != null">password=#{newPassword},</if> <if test="lastEditTime != null">last_edit_time=#{lastEditTime}</if> </set> WHERE user_id=#{userId} AND user_name={username} AND password=#{password} </update> </mapper>
Service层开发