MyBatis的简单介绍和几个基本问题(续)
第一阶段 MyBatis阶段
2016年3月9日 星期三
1.我们为什么要学习框架?
A.为开发效率
B.熟悉别人规定好的工具,按照他们说的规则做而已
2.我们要学习哪些框架?
持久层框架:MyBatis
什么是持久化?
狭义:永久性的把数据保存到数据库当中
广义:针对于数据库的所有操作都称为持久化
CreateReadUpateDelete
MyBatis就是针对于数据库的操作的封装--JDBC
MyBatis和Hibernate的区别?
半自动化--需要你自己定制SQL语句
全自动化--你想完成数据的一些操作的话,不需要写SQL语句
WEB层框架:SpringMVC
SpringMVC WEB层框架 主要的是替换Servlet
Struts2 WEB层框架
SpringMVC和Struts2两个框架
SpringMVC是针对于方法的操作
Strutr2是针对于类的操作
容器框架:Spring
Spring被称为一站式服务[WEB层 持久化层],IoC和AOP的容器框架
3.如果学习各种框架的流程?
A.寻找到你所需要的JAR包
B.都有一个核心配置文件
C.去找API文档
D.做最简单的测试熟悉引用即可
4.MyBatis回顾
A.从mybatis-config.xm核心配置文件
I.加载关于数据库的配置信息,但是我们是通过jdbc.properties的属性文件开始的[如何使用Java来读取properties的文件]
II.加载映射文件,关于映射文件的命名为 类名Mapper.xml的形式
注意:因为mybatis-config.xml文件是入口,并且对于你配置的映射文件进行加载,那么如果是映射文件用有错,就会导致整个测试运行出错,如果在控制台上报MyBatisUtils初始化不成功的错误,那么九成以上是映射文件出错,
B.映射文件配置
I.关于映射文件中的标签说明如下
<sql> 配置是针对公共的字段
<insert id="保持唯一,并且对应接口的方法名" parameterType="数据类型【int,string,list,map,对象的全路径,如果是多于一个参数该参数可以不写】"
resultType="int,string,map,类名的全路径"
reusltMap="必须对应的是<resutMap>标签中的ID"
如何配置关于返回主键的ID
>
<select >
<update >
<delete >
II.动态SQL语句
<if test="类中的属性或者map中的key" test="account!=null and account!=''">
<choose>跟学的JSTL标签中的<c:choose一致
<where>有三种
<set>更新两种方式
<trim>
myTest(List )
<foreache> 如果是你的参数只有一个,并且是List或者数组,paramType可以省略,并且collection="list|array",如果也是一个参数,
myTest(User user) hoddyList
但是是对象或者是Map,那么你的collection="对象中的集合属性名|map的key存的那个集合"
III.resultMap标签
只是针对于参数结果集的映射
多对一的标签<ass property=“类中的属性不是简单的数据类型” javaType="类名的全路径"
1.select方式 影响效率 column="通过该字段进行查询" 执行 select="namespace+'.'+id的名称"
2.resultMap的映射
resultMap的属性=“命名空间+resultMap对应的ID”
标签之间自己完成对字段的映射