一,学习三问:
mybatis是用来做什么的;
mybatis包含什么内容;
mybatis如何解决问题的
二,回答三问
1,mybatis的作用
用自己的话说:比jdbc更方便的操作数据库
2,mybatis包含的什么内容
映射文件;
配置文件;
dao层接口;
3,mybatis如何解决问题的
按自己的理解,mybatis通过映射文件,完成类似与类和方法的书写(namespace代表类名 id代表方法名) -> 完成映射文件后,在配置文件中的标签中加载映射文件:mybatis配置文件中包含的标签有(properties:用来加载xxx.properties配置文件如jdbc.properties;setting标签:用来修改mybatis一些默认运行行为,如setting标签下的name="mapUnderscoreToCamelCase"可以将数据库中的名字映射到实体类的驼峰命名很重要;typeAliases别名标签等) ->通过getMapper(接口名.class)方法获取对应的接口类对象 -> 通过该对象完成对接口中方法的调用 -> 注意 接口中的方法的名字要和映射文件中的id的名字完全一致
三,映射文件中的#{}符号
类似? ->不过 #{}符号中可以写的类型有一定的要求
#{}表示mybatis使用PrepareStatement预编译对象进行sql编译,传入动态参数.
大括号中出现值有以下情况:1,随意;2,实体类的成员变量名;3,map的key值.
1.如果传入的参数是简单类型,则随便写.
2.如果传入的参数是实体对象,则写成员变量名.
3.如果传入的参数是Map,则写map的key值.