1.为什么sql语句填入两个参数,需要用注解或者@prama标签:
如果在抽象方法#{ }里面,(如果没有注释写的也不是prama)填入两个参数,系统会封装成为一个map,并且是key:0-value:(1参数),key:1-(2参数;)在调用的时候,系统会把这个map的key也就是0当做传入参数的args的下标(),而这个map的value也就是1参,当做是(新map)的key,(针对param系统做了特殊处理),所以如果直接填入没有注解的id,此时的1参也就就是(新map)的key;?????那不是刚刚好吗刚好ID=args[0]
2.JDBCtype
--
连表查询
1.查询一个员工表,连接部门表--->
1.1编写sql语句,
1.2编写接口(方法传入参数,返回值)和结果集映射文件
1.2.1结果集映射文件:名字空间与接口名绑定,查询方法和接口抽象方法绑定,填写映射名;设计集合resultMap
1.2.1.1resultMap映射关系编写:映射对象:和bean对象绑定 映射名:
1.2.1.1结果集主键设置(默认id)
1.2.1.1结果集别名设置(细心点)
....
2.全局配制中注册映射文件
2.分步查询
在上述的基础之上
相当于把得到的 值传递给第二句的查询语句的
联合查询,用联合表的实现类来调用联合表的方法,注意参数的取值
--
in 查询
循环添加
范围查询
任一条件查询
动态查询((满足多个条件的))
更新(只要有一个新值,其他可以为null)
--
读取配置文件,解析每个节点(判断所有配置),包括mapper里面,全部存取到configxx对象里面,
然后通过这个对象获得数据库的信息,//
之后解析sql配置文件也就是mapper.xml增删改查的节点
先拿到标签值,全部标签值拿到
之后封装成一个mapperstatement(也就是每一个msm都代表这一个crud的详细信息)
之后再添加到configurantion中
返回了所有信息存在configuration对象中(有所有配置文件.全局+映射文件)