Mybatis探究已映射的 SQL 语句
Posted 王六六的IT日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis探究已映射的 SQL 语句相关的知识,希望对你有一定的参考价值。
创建xml文件(mapper文件)— 写sql语句。
mybatis框架推荐是把sql语句和java代码分开
mapper文件:定义和dao接口在同一目录, 一个表一个mapper文件。
-
约束文件
http://mybatis.org/dtd/mybatis-3-mapper.dtd
约束文件作用: 定义和限制当前文件中可以使用的标签和属性,以及标签出现的顺序。 -
mapper是根标签
namespace: 命名空间,必须有值,不能为空。唯一值。
推荐使用Dao接口的全限定名称。
作用: 参与识别sql语句的作用。 -
在mapper里面可以写
<insert>,<update>,<delete>,<select>
等标签。
<insert>
里面是 insert语句,表示执行的insert操作
<update>
里面是 update语句
<delete>
里面是 delete语句
<select>
里面是 select语句
示例:
<?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.bjpowernode.dao.StudentDao">
<!-- <select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>-->
<!--查询一个学生Student
<select>:表示查询操作, 里面是select 语句
id: 要执行的sql语句的唯一标识, 是一个自定义字符串。
推荐使用dao接口中的方法名称
resultType:告诉mybatis,执行sql语句,把数据赋值给那个类型的java对象。
resultType的值现在使用的java对象的全限定名称
#{studentId}:占位符, 表示从java程序中传入过来的数据
-->
<select id="selectStudentById" resultType="com.bjpowernode.domain.Student">
select id,name,email,age from student where id = #{studentId}
</select>
<!--添加insert
insert into student values(1003,"李峰","lifeng@qq.com",26)
如果传入给mybatis是一个java对象,使用#{属性名} 获取此属性的值。
属性值放到 #{}占位符的位置, mybatis执行此属性 对应的getXXX().
例如 #{id} ,执行getId();
-->
<insert id="insertStudent">
insert into student values(#{id},#{name},#{email},#{age})
</insert>
</mapper>
以上是关于Mybatis探究已映射的 SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章