<!-- [${}]:表示拼接sql字符串 [${value}]:表示要拼接的是简单类型参数。 注意: 1、如果参数为简单类型时,${}里面的参数名称必须为value 2、${}会引起sql注入,一般情况下不推荐使用。但是有些场景必须使用${},比如order by ${colname} --> <select id="finduserbyname" parametertype="string" resulttype="com.gyf.domain.user"> select * from user where username like '%${value}%' </select> |
思路:
last_insert_id()
<insert id="insertuser" parametertype="com.gyf.domain.user"> <!-- [selectkey标签]:通过select查询来生成主键 [keyproperty]:指定存放生成主键的属性 [resulttype]:生成主键所对应的java类型 [order]:指定该查询主键sql语句的执行顺序,相对于insert语句 [last_insert_id]:mysql的函数,要配合insert语句一起使用 --> <selectkey keyproperty="id" resulttype="int" order="after"> select last_insert_id() </selectkey> <!-- 如果主键的值是通过mysql自增机制生成的,那么我们此处不需要再显示的给id赋值 --> insert into user (username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address}) </insert> |
<insert id="insertuser" parametertype="com.gyf.domain.user"> <selectkey keyproperty="id" resulttype="string" order="before"> select uuid() </selectkey> insert into user (username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address}) </insert> |
select user_seq.nextval() from dual
如对本文有疑问, 点击进行留言回复!!
网友评论