10.$和#的区别 | 11.添加对象时如何把生成的id返回

一. Mybatis中$和#的区别。

1. $: 解析时不会为内容添加”” 他是sql语句的拼接存在sql注入的危害。传入的为表结构时。

2. #: 解析时会为内容添加””,它的sql时采用占位符,防止sql注入。

 

 

11.添加对象时如何把生成的id返回

  用:keyProperty="id"

 1 <!--逆向工程自动生成-->
 2 <insert id="insertSelective" parameterType="com.zhiyou100.wc.bean.Users">
 3     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
 4       VALUES IDENTITY_VAL_LOCAL()
 5     </selectKey>
 6     insert into users
 7     <trim prefix="(" suffix=")" suffixOverrides=",">
 8       <if test="NAME != null">
 9         NAME,
10       </if>
11       <if test="age != null">
12         age,
13       </if>
14       <if test="sex != null">
15         sex,
16       </if>
17     </trim>
18     <trim prefix="values (" suffix=")" suffixOverrides=",">
19       <if test="NAME != null">
20         #{NAME,jdbcType=VARCHAR},
21       </if>
22       <if test="age != null">
23         #{age,jdbcType=INTEGER},
24       </if>
25       <if test="sex != null">
26         #{sex,jdbcType=VARCHAR},
27       </if>
28     </trim>
29   </insert>

 

posted @ 2019-09-03 20:28  搬砖老王$  阅读(278)  评论(0编辑  收藏  举报