一、主配置文件
注意必须按规定的结构来配置
设置(settings)
这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。
看mybatis
<settings>
<setting name="useGeneratedKeys" value="false"/>
<!-- 自动生成主键-->
<setting name="mapUnderscoreToCamelCase" value="false"/>
<!-- 开启驼峰命名发 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!-- 开启日志 这个很方便-->
</settings>
类型别名(typeAliase)
就是可以帮助类型直接起一个名字缩写 只能用在xml里面
也可以指定一个包名 ,mybatis会在包名直接搜索需要的 java bean
这样就可以直接搜索com。mapper下的所有
映射器(mapper)
一般使用resource的比较多
使用package的时候 因为测试类的原因在使用测试类测试package映射的时候很大几率不成功 在做web开发时没有问题
二、映射文件
cache – 该命名空间的缓存配置。
cache-ref – 引用其它命名空间的缓存配置。
resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。
parameterMap – 老式风格的参数映射。此元素已被废弃,并可能在将来被移除!请使用行内参数映射。文档中不会介绍此元素。
sql – 可被其它语句引用的可重用语句块。
insert – 映射插入语句。
update – 映射更新语句。
delete – 映射删除语句。
select – 映射查询语句。
select(关联查询)
主要的元素
id 唯一标识符 可以被用来引用这个语句
parameterType 传入sql语句的参数 需要类全限定名或别名 可以选项
resultType 返回的值的属性格式同上
resultMap 对外部 resultMap 的命名引用 和 resultType只能存在一个 用来映射嵌套可以
多对一
1、关联查询的查询学生表 关联班级表可以直接关联查询
<select id="selectMap" resultType="java.util.Map">
select a.*,b.classname
from studentinfo a
join classinfo b on a.classid=b.classid
</select>
2.使用select推另一条sql懒加载