MyBatis
MyBatis面向对象接口编程的两个一致
- 映射文件的namespace要和mapper接口的全类名保持一致
- 映射文件中sQL语句的id要和mapper接口中的方法名一致
MyBatis核心配置文件标签顺序
MyBatis获取参数的两种方法
推荐使用:#{}
MyBatis开启驼峰命名
第一种方法(推荐)
第二种方法
注解+配置混合版
resultType & resultMap
resultType:设置默认的映射关系,当数据库字段名与类型和实体类的名和属性一致时使用
resultMap :设置自定义的映射关系,当数据库字段名与类型和实体类的名和属性不一致时使用,当一对多,多对一时使用
获取参数的各种情况
使用@param标识参数
- 可以通过@Param注解标识mapper接口中的方法参数,此时,会将这些参数放在map集合中
- 以@Param注解的value属性值为键,以参数为值;
- 以param1,param2…为键,以参数为值;
- 只需要通过${}和#{}访问map集合的键就可以获取相对应的值,注意${}需要手动加单引号
<!--User CheckLoginByParam(@Param("username") String username, @Param("password") String password);-->
<select id="CheckLoginByParam" resultType="User">
select * from t_user where username = #{username} and password = #{password}
</select>
@Test
public void checkLoginByParam() {
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
ParameterMapper mapper = sqlSession.getMapper(ParameterMapper.class);
mapper.CheckLoginByParam("admin","123456");
}
总结
- 建议分成两种情况进行处理
- 实体类类型的参数
- 使用@Param标识参数
spring boot + Mybatis
spring boot + Mybatis流程
Controller-----调----->Servce-------调------->mapper
返回json数据注解
Spring boot+MyBatis 全类名起别名 (resultType)
默认别名为实体类名
<select id="test" resultType="com.common.pojo.User" parameterType="int">
</select>
在配置文件中设置
mybatis:
type-aliases-package:com.common.pojo
就都可以直接用类名来代替全限定名
<select id="test" resultType="User" parameterType="int">
</select>
idea
idea配置文件模
创建文件如下
其他文件模板