# Mybatis02 **Repository Path**: langazhe/mybatis02 ## Basic Information - **Project Name**: Mybatis02 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-18 - **Last Updated**: 2022-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 回顾 ### mybatis是什么 > 它的作用是操作数据库,简化我们的代码,让我们更加专注于sql的编写,mybatis的使用基本上就是sql的编写 > sql的编写主要包含 参数和返回值,mybatis的主要内容就是参数和返回值 ### 参数的获取 #### 1 单个参数 > 如果参数只有一个并且是基本数据类型或者是字符串,则可以通过#{随便一个名字} 就可以获取 > > 如果这个参数是对象类型的,则通过#{属性名}的方式获取值 > > 如果这个参数是map类型的数据, 则通过#{key的名字}的方式获取值 > > 如果在接口的方法中通过@Param指定了参数名,则需要通过这个名字来获取到对应的参数,如果参数是或者是map则先通过名字拿到对象或者map,然后再去拿里面的属性或者key > #### 2 多个参数 > 多个参数可以封装到一个对象或者map中 ,通过一个参数的方式来获取 > > 如果参数就是直接多个,则需要在接口的方法中通过@Param给每个参数指定名字, 然后在sql中通过#{名字}拿到对应的参数 > ### 返回结果 > 默认情况下 如果你用于接收结果的对象中的属性和数据库中表的列名一样,则可以直接封装数据到对象中 > > 如果你表中的列名存在下划线,对象中的属性是驼峰命名的, 则可以通过自定义resultmap的方式来指定映射关系来接收数据 > 也可以通过开启mybatis 的驼峰命名的配置来进行接收数据 > resultmap 主要应对的场景就是无法自动封装数据到对象上面的情况 ## 约定 > 我们的mapper接口所在的包和xml所在的目录要保持一致,xml写在resources目录中, 接口的名字要和xml 的名字保持一致 > xml中 的namespace要和接口的全限定名称保持一致, 接口中的方法的名字要和xml中对应的操作的标签的id保持一致 > 参数要和这个标签对应的参数类型保持一致, 方法的返回值要这个标签的返回结果类型保持一致