无法查询信息
来源:6-2 自由编程
litter_
2019-07-10 15:56:08
配置项代码
<?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.imooc.entity.Student">
<select id="findStudents" resultMap="forStudent">
SELECT * FROM student
<if test="id != null">
where id = #{id}
</if>
ORDER BY grade ASC
</select>
<resultMap id="forStudent" type="com.imooc.entity.Student">
<id property="id" column="id"></id>
<id property="major" column="major"></id>
<collection property="courses" column="major" ofType="com.imooc.entity.Course" select="selectCourses"></collection>
</resultMap>
<select id="selectCourses" resultType="com.imooc.entity.Course">
select * from course WHERE major_name = #{major}
</select>
<sql id="field_id">
reg_no,name,age,sex,grade,major
</sql>
<insert id="addStudent" useGeneratedKeys="true" keyProperty="id">
INSERT INTO student(<include refid="field_id"></include>)
VALUES(#{reg_no},#{name},#{age},#{sex},#{grade},#{major})
</insert>
<select id="searchByMajor" resultType="com.imooc.entity.Student">
SELECT * FROM student
<if test="major != null">
where major = #{major}
</if>
</select>
<update id="updateStudent">
UPDATE student
<set>
<if test="reg_no != null">reg_no = #{reg_no},</if>
<if test="name != null">name = #{name},</if>
<if test="age != null">age = #{age},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="grade != null">grade = #{grade},</if>
<if test="major != null">major = #{major}</if>
</set>
<if test="grade != null">
where grade = #{grade}
</if>
</update>
<update id="update">
UPDATE student
<set>
<if test="reg_no != null">reg_no = #{reg_no},</if>
<if test="name != null">name = #{name},</if>
<if test="age != null">age = #{age},</if>
<if test="sex != null">sex = #{sex},</if>
<if test="grade != null">grade = #{grade},</if>
<if test="major != null">major = #{major}</if>
</set>
<if test="id != null">
where id = #{id}
</if>
</update>
<delete id="deleteStudent">
DELETE FROM student WHERE id = #{id}
</delete>
</mapper>DAO层
package com.imooc.dao;
import com.imooc.entity.Student;
import com.imooc.utils.SqlSessionUtils;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
public class StudentDAO {
List<Student> students;
public List<Student> findAll(){
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
try{
students = session.selectList("findStudents");
}catch (Exception e){
e.printStackTrace();
}finally {
if (session != null){
session.close();
}
}
return students;
}
public Student findOne(Student student) {
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
Student stu = new Student();
try{
stu = session.selectOne("findStudents",student);
}catch (Exception e){
e.printStackTrace();
}finally {
if (session != null){
session.close();
}
}
return stu;
}
public Student addStudent(Student student){
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
try{
session.insert("addStudent",student);
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally{
session.close();
}
return student;
}
public List<Student> searchStudentsByMajor(Student student){
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
try{
students = session.selectList("searchByMajor",student);
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally{
session.close();
}
return students;
}
/**
* 修改用户的方法
* @param studnet
*/
public void updateStudents(Student studnet){
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
try{
session.update("update", studnet);
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally{
session.close();
}
}
/**
* 删除用户的方法
* @param studnet
*/
public void deleteStudents(Student studnet){
SqlSession session = SqlSessionUtils.getSqlSessionFactory().openSession();
try{
session.delete("deleteStudent", studnet);
session.commit();
}catch (Exception e){
e.printStackTrace();
}finally{
session.close();
}
}
}1回答
同学你好,同学说的无法查询信息是报错还是什么呢?建议同学详细描述一下。另外同学可以在dao层中的findAll()方法中,输出一下students,查看是否查询到数据。

祝:学习愉快~
相似问题