mybatis总结

把握两个一致

namespace=接口的全限定名称
映射文件中的sql语句的id要黑盒mapper接口中的方法名一致

测试功能

mybatis为我们提供了一个操作数据库的会话对象:SqlSession
获取sqlsession对象:代表java程序和数据库的会话
流程:

  1. 加载核心配置文件:Resources.getResourcesAsStream(“核心配置文件.xml”)
  2. 获取sqlsessionFactoryBuilder对象
  3. 获取工厂对象:sqlsessionactory
  4. 获取sqlsession对象:sqlSessionFactroy.openSession();
  5. 获取mapper接口对象:Usermapper mapper = sqlsession.getMapper(userMapper.class)
  6. mapper.接口方法名

增加实现

如测试一样

更改实现

如测试一样

查询实现

查询实体类对象【以User对象为例】
根据id查找对象

  1. 写接口名:User getUserById();
  2. 在映射文件复写id,并写出sql语句
  3. 放=返回值需要resultType 或者resultmap定义:在映射文件中设置
    查集合
    用list接收

核心配置文件了解

environment
typeAliases
mapper
引入映射文件

<mappers>
		<mapper>
 		//mapper接口所在的包要和映射文件所在的包一致
 		//mapper接口要和映射文件名字一致
 		</mapper>
</mappers>

mybatis获取参数的两种方式

#{}:占位符赋值
${}: 字符串拼接

获取参数-情况一:mapper接口为单个字面量类型
根据用户名查看用户信息

多个字面量类型或者说参数有多个【mybatis的规则】:mybatis底层检测到有多个参数的时候,他会存在一个map中,以arg0为键参数为值
使用arg1、arg2;param1、parm2

手动将参数放到map中来存储:

mapper接口方法的参数是实体类型的参数:

命名参数:使用@param注解
@param(“username”) String username:加入该注解后表示意思是:mybatis就会将括号的值为键,参数为值

实体类对象和@Param两种方式作为主要使用

你可能感兴趣的:(mybatis)