模糊查询用户信息
<!-- [${}]:表示拼接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> |
插入用户信息
删除用户
更新用户
主键返回之MySQL自增主键
思路:
- MySQL自增主键,是指在insert之前MySQL会自动生成一个自增的主键。
- 我们可以通过MySQL的函数获取到刚插入的自增主键:
LAST_INSERT_ID()
- 这个函数是在insert语句之后去调用。
<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> |
主键返回之MySQL自增UUID
<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> |
ORCLE主键
SELECT user_seq.nextval() FROM dual