发表于: 2020-06-07 22:18:32
2 1552
今日作为:看Mybatis文档用XML的方式查询数据库
然后只有根据姓名或学号查询搞定了,update不会报错但是就是没有更新成功,数据又没有传进去。。。。
麻烦师兄帮忙看一下 我试过其他很多的百度方法。。。就是传不进去
明天书到了仔细能翻书了。。。。
<?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.jnshu.dao.StudentMapper">
<select id="query" parameterType="list" resultType="com.jnshu.entity.Student">
select * from student
<where>
<if test="Name != null and Name != ''">
and Name = #{Name}
</if>
<if test="Number != null and Number != ''">
and Number = #{Number}
</if>
</where>
</select>
<update id="update" parameterType="com.jnshu.entity.Student">
update student
<trim prefix="set" suffixOverrides=",">
<if test="Name != null and Name != ''">Name = #{Name},</if>
<if test="School != null and School != ''">and School = #{School},</if>
<if test="Online_un != null and Online_un != ''">and Online_un = #{Online_un},</if>
<if test="Number != null and Number != ''">Number = #{Number},</if>
<if test="City != null and City != ''">City = #{City},</if>
</trim>
where ID = #{ID}
</update>
</mapper>
结果:
代码:
@Test
public void update(){
SqlSession session = sessionFactory.openSession();
StudentMapper mapper = session.getMapper(StudentMapper.class);
Student student = new Student();
student.setID(2);
student.setName("233");
student.setCity("北京");
mapper.query(student);
session.close();
但是神奇的是我查询能实现根据名字或学号,或者什么都不传查询所有
@Test
public void query(){
SqlSession session = sessionFactory.openSession();
StudentMapper mapper = session.getMapper(StudentMapper.class);
Student student = new Student();
student.setNumber(7777);
List<Student> stus = mapper.query(student);
System.out.println(stus);
session.close();
}
请教一下师兄这是什么鬼???????
评论