一开始数据库表字段命名和实体属性命名一致,后来改为不一致,在mapper映射中采用 select as 的写法,就把问题解决了。
entity:
package com.ssm.entity;
import java.sql.Timestamp;
/**
* Created by Administrator on 2016/6/27.
*/
//学生实体
public class Student {
private long sid ;
private String sname ; //姓名
private String gender ; //性别
private int age ; //年龄
private String address ; //地址
private Timestamp starttime;//开始时间
private Timestamp endtime;//结束时间
//学生中有老师实体
private Teacher teacher ; //老师对象
public long getSid() {
return sid;
}
public void setSid(long sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public Timestamp getStarttime() {
return starttime;
}
public void setStart_time(Timestamp starttime) {
this.starttime = starttime;
}
public Timestamp getEndtime() {
return endtime;
}
public void setEnd_time(Timestamp endtime) {
this.endtime = endtime;
}
@Override
public String toString() {
return "Student{" +
"sid=" + sid +
", sname='" + sname + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", address='" + address + '\'' +
", teacher=" + teacher +
'}';
}
}
mapper.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.ssm.dao.StudentDao">
<!--增加学生操作-->
<insert id="insertStudent" parameterType="com.ssm.entity.Student">
INSERT into student(sname,gender,age,address,start_time,end_time)
VALUES(#{sname},#{gender},#{age},#{address},#{starttime},#{endtime});
</insert>
<!--删除学生操作-->
<delete id="deleteStudentById" parameterType="long">
delete from student where sid = #{sid};
</delete>
<!--更新操作-->
<update id="updateStudent" parameterType="com.ssm.entity.Student">
UPDATE student s set s.address = #{address},s.sname=#{sname},
s.gender=#{gender},s.age=#{age},s.start_time=#{starttime},s.end_time=#{endtime} WHERE s.sid = #{sid};
</update>
<!--根据ID查询-->
<select id="getStudentById" parameterType="long" resultType="com.ssm.entity.Student">
select s.address,s.sname,s.gender,s.age,s.start_time as starttime ,s.end_time as endtime from student s WHERE sid = #{sid};
</select>
<!--查询多个学生-->
<select id="queryAllStudent" resultType="com.ssm.entity.Student">
select s.sid, s.address,s.sname,s.gender,s.age,s.start_time as starttime ,s.end_time as endtime
from student s order by sid desc limit #{offset},#{limit};
</select>
</mapper>