上文中,我们编写了一个最简单的sql查询语句。根据学生id查询对象
注意:如果输入参数:
是简单类型(8个基本类型加String),是可以使用任何占位符,#{xxxxxx}
不过为了可读性,一般还是用有意义的占位符,不要随便用任意占位符
如果是对象类型,则必须是对象的属性 #{属性名}
如果输出参数:如果返回值类型是一个对象(Student),则无论是返回一个还是多个,在resultType中都写成entity.Student(即全类名)
如果使用的事务方式是 jdbc,则需要手工commit( );
同时注意到这里使用的是“#”,那么是不是只能用这一个呢。其实不然,还可以使用“$”。那么二者之间有什么区别呢?
针对简单类型(8个基本类型加String),
#{任意值}
${value},这里只能用value,不能是其他任何值
另外:
#{}会自动给String类型加上 ‘ ’(自动类型转化)
${}进行原样输出,比较适用于动态排序(动态字段)
#{}可以防止SQL注入,${}则不可以
现在通过实例来学习SQL语句的编写(两种形式都进行学习)
SELECT语句
xml配置文件形式
注意到select标签有一些属性远不止上图三个属性,从官网中学习了解一下Select标签属性含义
由官网可知:
其中属性: