<mapper namespace="com.wz.dao.StudentDao">**namespace: 命名空间,必须有值,唯一值
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
<?xml version="1.0" encoding="UTF-8" ?>
mapper(双标签)是当前xml文件的根标签,必须写,sql语句写在mapper 标签中
好比我们学html时,学的html标签一样,html标签是html文件中的根标签,html标签中写网页的主要内容
namespace: 命名空间,必须有值,唯一值
值可以是自定义(不建议),要求值使用dao接口(StudentDao.java )的全限定名称 com.wz.dao.StudentDao
作用:参与识别sql 语句(用来找到要执行的sql 语句的)
思考?
sql mapper 映射文件是用来写sql 语句的,也就是说增删改查的sql 语句都是写在 sql mapper 映射文件的
那这么多sql语句 ,mybatis怎么知道要执行哪一个sql 语句呢?
添加的sql语句
查询的sql语句
删除的sql语句
。。。。。。。
在sql mapper 映射文件中使用特定的标签,表示增删改查的sql 语句
<insert id="">
增加sql语句 insert....
</insert>
<delete id="">
删除的sql语句 delete......
</delete>
<update id="">
修改的sql 语句 update......
</update>
<select id="">
查询的sql 语句 select......
</select>
id:要执行的sql语句的唯一标识
mybatis 会使用这个id 值 来找到dao层接口(StudentDao.java)中方法要执行的sql语句
id 值也可以自定义(不建议) 要求大家使用dao 接口(StudentDao.java)中的方法名称
resultType:表示的是查询到结果类型(sql 语句执行后得到结果集ResultSet ,遍历这个结果集得到java对象的类型),只需要告诉mybatis查询到的对象类型是什么即可,resultType的值用java对象类型的全限定名称(现在使用的是Student 对象)
<select id="selectAllStudents" resultType="com.wz.entity.Student">
select * from student
</select>
<select id="selectAllStudentsByAge" resultType="Blog">
</select>
<select id="selectStudentById" resultType="Blog">
</select>
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}