mybatis(二)

SQL映射器Mapper

MyBatis基于动态代理机制,让我们无需再编写Dao的实现。
传统Dao接口,现在名称统一以Mapper结尾,还有我们映射器配置文件要和映射器在同一个包.:
IDeptDao---->DeptMapper.java—DeptMapper.xml(namespace直接写DeptMapper.java的全限定名)

映射文件:

<mapper namespace="cn.itsource.mybatis.mapper.UserMapper">
	<select parameterType=”long” resultType=”User”>
Select * from t_user where id = #{id}
select>
mapper>

实现:

UserMapper mapper = sqlSession.getMapper(UserMapper.class)

高级查询

定义映射接口-EmployeeMapper
List query(EmployeeQuery query);
写映射文件并且导入核心配置文件

注意:
模糊查询要用mysql中字符串拼接函数concat
and ( name like concat(’%’,#{keywords},’%’) or password like ‘%${keywords}%’ )

如果有特殊符号可以使用转义符 或者使用CDATA

如果语句被多个地方调用可以使用sql include完成抽取和调用

关联关系

many2one
1.保存(永远先保存1方,再保存多方)
2.查询最终封装结果值
1.关联表查询
2.子查询(把主查询出来之后,循环查询辅表)

one2many
1.保存(永远先保存1方,再保存多方)
2.查询最终封装结果值
1.关联表查询
2.子查询(把主查询出来之后,循环查询辅表)

你可能感兴趣的:(mybatis(二))