namespace=接口的全限定名称
映射文件中的sql语句的id要黑盒mapper接口中的方法名一致
mybatis为我们提供了一个操作数据库的会话对象:SqlSession
获取sqlsession对象:代表java程序和数据库的会话
流程:
Resources.getResourcesAsStream
(“核心配置文件.xml”)sqlsessionFactoryBuilde
r对象sqlsessionactory
sqlSessionFactroy.openSession();
Usermapper mapper = sqlsession.getMapper(userMapper.class)
如测试一样
如测试一样
查询实体类对象【以User对象为例】
根据id查找对象
environment
typeAliases
mapper
引入映射文件
<mappers>
<mapper>
//mapper接口所在的包要和映射文件所在的包一致
//mapper接口要和映射文件名字一致
</mapper>
</mappers>
#{}:占位符赋值
${}: 字符串拼接
获取参数-情况一:mapper接口为单个字面量类型
根据用户名查看用户信息
多个字面量类型或者说参数有多个【mybatis的规则】:mybatis底层检测到有多个参数的时候,他会存在一个map中,以arg0为键参数为值
使用arg1、arg2;param1、parm2
手动将参数放到map中来存储:
mapper接口方法的参数是实体类型的参数:
命名参数:使用@param注解
@param(“username”) String username:加入该注解后表示意思是:mybatis就会将括号的值为键,参数为值
实体类对象和@Param两种方式作为主要使用