一、介绍
环境:MyBatis 3.0.x+Spring 3.0.x+EasyUI
采用SpringMVC+MyBatis框架整合的分页Demo,用的是首页这个:http://www.jeasyui.com/demo/main/index.php
Demo结构如下:
再看一下效果:
二、项目详解:
前提是首先把所有的jar包导入进入,不管是用Maven或者手动都可以。
1、首先建立javabean,User.java:
package com.bee.po;
public class User {
private int id;
private String name;
private String password;
private String sex;
private int age;
private String address;
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", password=" + password
+ ", sex=" + sex + ", age=" + age + ", address=" + address
+ "]";
}
//省略setter和getter方法
}
顺带着把数据库也建立了
2、然后建立dao层接口类,UserMapper以及UserMapper.xml(因为MyBatis是接口编程,只需要实现mapper而不用实现dao接口)
UserMapper.java:
package com.bee.dao;
import java.util.List;
import com.bee.po.User;
public interface UserMapper {
/**
* 通过姓名查找用户
* @param name 用户名
* @return 返回用户对象
*/
public User findUserByName(String name);
/**
* 查询所有用户,显示列表
*/
public List<User> findUsersList();
/**
* 根据页数和记录数,返回记录
*/
public List<User> findUsersListByPage(int start,int end);
/**
* 添加用户
*/
public void addUser(User user);
/**
* 修改用户
*/
public void updateUser(User user);
/**
* 根据ID删除用户
*/
public void deleteUser(int id);
/**
* 插入学生自动生成主键
*/
public String createStudentAutoKey(User user);
}
根据UserMapper接口,我们可以写出映射文件UserMapper.xml(直接写在Dao层了,这样写不是太好):
<?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.bee.dao.UserMapper">
<!-- 用户列表List -->
<resultMap type="User" id="resultListUser">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="password" property="password" />
<result column="sex" property="sex" />
<result column="address" property="address" />
</resultMap>
<!-- 通过名称查找 -->
<select id="findUserByName" parameterType="String" resultType="User">
select *
from user where name=#{name}
</select>
<!-- 查找用户列表 -->
<select id="findUsersList" resultMap="resultListUser">
select * from user
</select>
<!-- 根据页数和记录数返回查找记录 -->
<select id="findUsersListByPage" resultMap="resultListUser">
select * from user limit #{0},#{1}
</select>
<!-- 添加用户 -->
<insert id="addUser" parameterType="User" useGeneratedKeys="true"
keyProperty="id">
insert into user(name,password,sex,age,address)
values(#{name},#{password},#{sex},#{age},#{address})
</insert>
<!-- 更新用户 -->
<update id="updateUser" parameterType="User">
update user set
<if test="name != null">
name=#{name},
</if>
<if test="password != null">
password=#{password},
</if>
<if test="sex != null">
sex=#{sex},
</if>
<if test="age != null">
age=#{age},
</if>
<if test="address != null">
address=#{address}
</if>
where id=#{id}
</update>
<!-- 删除用户 -->
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
<!-- 插入学生&#x