先写管理员登录
Controller
先写一个LoginController,该LonginController继承于BaseController(规定了一些基本控制器应该包含的内容)
/**
* 登录相关的控制器
*/
@Controller
@RequestMapping("/login")
public class LoginController extends BaseController {
/**
* 管理员登录前
*/
@RequestMapping("/login")
public String login(){
return "/login/mLogin";
}
}
然后再写一个管理员登陆的jsp页面,命名为mLogin.jsp
管理员进入到登陆界面后,要开始进行输入账号与密码操作,所以就要进行登陆验证,所以现在来写一个登陆验证的方法,位于LoginController中。既然要进行登陆验证,所以就先需要创建数据库中的一系列对象,这里先在pojo(对象包)中创建管理员对象Manage类,该类实现Serializable(序列化)接口
/**
* 管理员
*/
public class Manage implements Serializable {
/**主键*/
private Integer id;
/**账户*/
private String userName;
/**密码*/
private String password;
/**姓名*/
private String name;
public Manage(Integer id, String userName, String password, String name) {
this.id = id;
this.userName = userName;
this.password = password;
this.name = name;
}
public Manage() {
}
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 getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Manage{" +
"id=" + id +
", userName='" + userName + '\'' +
", password='" + password + '\'' +
", name='" + name + '\'' +
'}';
}
}
mapper层是直接跟数据库打交道的,它也是个接口,只有方法名字,具体实现在mapper.xml文件里。所以现在来写mpper接口和mapper的xml文件。
ManageMapper继承于BaseDao,BaseDao里有一些基本方法(如对实体进行插入、删除、更新、查询、修改等操作)
public interface ManageMapper extends BaseDao<Manage> {
}
在写之前先要明白
<!-- id:设置ResultMap的id -->
<resultMap type="order" id="orderResultMap">
<!-- 定义主键 ,非常重要。如果是多个字段,则定义多个id -->
<!-- property:主键在pojo中的属性名 -->
<!-- column:主键在数据库中的列名 -->
<id property="id" column="id" />
<!-- 定义普通属性 -->
<result property="userId" column="user_id" />
<result property="number" column="number" />
<result property="createtime" column="createtime" />
<result property="note" column="note" />
</resultMap>
<?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/javapandeng/mapper/ManageNapper">
<!--实体类与数据可映射部分-->
<resultMap id="ResultMapManage" type="com/javapandeng/mapper/ManageMapper">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="username" column="username" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
<result property="realName" column="realName" jdbcType="VARCHAR"/>
</resultMap>
<!--声明数据库字段-->
<sql id="Manage_filed">
id,username,password,realName
</sql>
<!--实体类属性-->
<sql id="Manage_insert">
#{id},#{username},#{password},#{realName}
</sql>
</mapper>
现在在ManageMapper.xml中实现ManageMapper中的一些方法
/**
* 插入一个实体
* @param entity
*/
int insert(T entity) ;
<!-- 新增 -->
<!-- 参数=Manage -->
<!-- 返回值=id -->
<insert id="insert" parameterType="com/javapandeng/po/Manage" useGeneratedKeys="true" keyProperty="id">
insert into manage(
<include refid="Manage_filed" />
) values (
<include refid="Manage_insert"/>
)
</insert>
/**
* 根据实体主键删除一个实体
*/
void deleteById(Serializable id);
<!-- 根据实体主键删除一个实体 -->
<!-- 参数=INTERGER -->
<delete id="deleteById" parameterType="java.lang.Integer">
delete from manage where id = #{id}
</delete>