一、引言
mybatis基本入门之后,简单的输入映射输出映射已经基本能搞定,不过像之前看起来很简单的模糊查询和主键值返回开始没有头绪,确实跟之前差距比较大,重新写了下,因为原理大家都懂所以直接上代码了==
二、模糊查询
mapper.java文件:
public List<Info> selectInfoByname(String name);
mapper.xml文件:
<select id="selectInfoByname" parameterType="string" resultType="Info">
SELECT * from t_info WHERE f_name like '%${_parameter}%'
</select>
这里我使用的是$代替了#,因为$仅仅是字符串的拼接,而#会自己带引号,这点区别大家不明白的可以查查资料,不过使用$有可能造成sql注入,尽量少使用了。
三、主键返回
1、自增主键
mapper.java:
public void insertInfo (Info info);
mapper.xml
<insert id="insertInfo" parameterType="com.xcy.po.Info">
<selectKey keyProperty="f_id" order="AFTER" resultType="int">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO t_info (f_name,f_blz,f_bld,f_yxx)
values(#{f_name},#{f_blz},#{f_bld},#{f_yxx})
</insert>
这里直接调用mapper.java的函数就会自动包装到Info对象中,这里需要注意的是order为before和after顺序的问题。
2、自动生成的uuid主键
mapper.java:
public void insertInfo2 (TTest tTest);
mapper.xml:
<insert id="insertInfo2" parameterType="com.xcy.po.TTest">
<selectKey keyProperty="Fid" order="BEFORE" resultType="string">
SELECT UUID()
</selectKey>
INSERT INTO ttest (fid,fname)
values(#{Fid},#{Fname})
</insert>
同样,这里是在执行sql操作之前将uuid付给实体类中的Fid属性,调用函数后直接可以使用。
四、总结
- 模糊查询;
- 插入数据获取自增主键;
- 插入数据获取uuid主键;