总结一下平时在项目中使用到的mybatis语法,不定时更新,以供学习使用
1. sql标签与include标签的使用
<sql id="my_information">
//这里面放的是数据库字段
</sql>
//引用sql标签中id为asset_information的字段
<include refid="my_information"/>
2. 查询
2.1 按条件查询 (查询单张表)
<select id="select" resultType="com.zyj.MyTestBean">
SELECT id, name FROM my_test_sql
WHERE 1=1
<if test="bean.id !=null and bean.id !=''">
id = #{bean.id}
</if>
<if test="bean.name !=null and bean.name !=''">
AND name LIKE "%"#{bean.name}"%"
</if>
</select>
2.2 查询时,返回的是map类型,key为列名,value为该列名对应的值
<select id = "getMapTest" resultType="map">
SELECT <include refid = "my_information"/> FROM my_test_sql
WHERE id = #{id}
</select>
返回的是:
Map<String,Object> map = dao.getMapTest(id);
for(Map<> entry:)
当查询数据库某个字段为null时,返回该条记录
SELECT * FROM my_test_sql WHERE name is null
2.3 连接查询,左连接,涉及到一对多关系时,比如,A表的关联着B表和C表,只通过id关联,涉及到需求根据B表和C表的查询,来找到A表的id
SELECT a.id from A as a
LEFT JOIN B as b ON a.id = b.id
LEFT JOIN C as c ON a.id = c.id
WHERE 1=1
<if >....