巩义网站优化技巧,淄博网站排名优化公司,做网站费用联系方式,什么是网络营销?其特点是什么?1.什么是MyBatis#xff1f;
MyBatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架#xff0c;它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索#xff0c;使用简单的XML或注解进行配置和原始映射#xff0c;将接口和Java的POJO映射成数据库中…1.什么是MyBatis
MyBatis是一个支持普通SQL查询、存储过程以及高级映射的持久层框架它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索使用简单的XML或注解进行配置和原始映射将接口和Java的POJO映射成数据库中的记录使得Java开发人员可以使用面向对象的编程思想来操作数据库。
2.MyBatis的工作原理
1读取MyBatis配置文件mybatis-config.xml。
2由MyBatis配置文件加载映射文件Mapper.xml。
3通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactory。
4由会话工厂创建SqlSession对象。
5MyBatis底层定义了一个Executor接口来操作数据库它会根据SqlSession传递的参数动态的生成需要执行的SQL语句。
6在Executor接口的执行方法中包含一个MappedStatement类型的参数该参数是对映射信息的封装。
7在执行方法时MappedStatement对象会对用户执行SQL语句的输入参数进行定义封装。
8在数据库中执行完SQL语句后MappedStatement对象会对SQL执行输出的结果进行定义封装。
3.mappers元素引入映射文件的4种方式。
1使用类路径引入。
2使用本地文件路径引入。
3使用接口类引入。
4使用包名引入。
4.MyBatis映射文件中的常用元素及其作用。
mapper映射文件的根元素该元素只有一个namespace属性命名空间namespace属性作用如下。
1用于区分不同的mapper全局唯一。
2绑定DAO接口即面向接口编程。当namespace绑定某一接口之后可以不用写该接口的实现类MyBatis会通过接口的全限定名查找到对应的mapper配置来执行SQL语句因此namespace的命名必须跟接口同名。
cache: 配置给定命名空间的缓存。
cache-ref从其他命名空间引用缓存配置。
resultMap描述数据库结果集和对象的对应关系。
sql可以重用的SQL块也可以被其他语句使用。
insert用于映射插入语句。
delete用于映射删除语句。
update用于映射更新语句。
select用于映射查询语句。
5.MyBatis动态SQL中的常用元素及其作用。
if判断语句用于单条件判断。
choosewhen、otherwise相当于Java中的switch...case...default语句用于多条件判断。
where简化SQL语句中where的条件判断。
trim可以灵活地去除多余的关键字。
set用于SQL语句的动态更新。
foreach循环语句常用于in语句等列举条件中。
6.在使用foreach时collection属性需要注意的几点。
1如果传入的是单参数且参数类型是一个数组或者List的时候collection属性值分别为array和list或collection
2如果传入的参数是多个的时候就需要把它们封装成一个Map了当然单参数也可以封装成Map集合这时候collection属性值就为Map的键。
3如果传入的参数是POJO包装类的时候collection属性值就为该包装类中需要进行遍历的数组或集合的属性名。
7.collection子元素的常用属性及其作用。
property指定映射到的实体类对象属性与表字段一一对应
column指定表中对应的字段
ofType它用于指定实体对象中集合类属性所包含的元素类型
select指定引入嵌套查询的子SQL语句该属性用于关联映射中的嵌套查询
fetchType指定在关联查询时是否启用延迟加载。fetchType属性有lazy和eager两个属性值默认值为lazy即默认关联映射延迟加载。
8.MyBatis关联查询映射的两种处理方式。
MyBatis在映射文件中加载关联关系对象主要通过嵌套查询和嵌套结果两种方式。
嵌套查询是指通过执行另外一条SQL映射语句来返回预期的复杂类型
嵌套结果是使用嵌套结果映射来处理重复的联合结果的子集。
9.MyBatis的常用注解及其作用。
Select用于映射查询语句其作用等同于xml配置文件中的select元素。
Insert用于映射插入语句其作用等同于xml配置文件中的insert元素。
Update用于映射更新语句其作用等同于xml配置文件中的update元素。
Delete用于映射删除语句其作用等同于xml配置文件中的delete元素。Param用于指定SQL语句中的参数通常用于SQL语句中参数比较多的情况。
One用于实现数据表的一对一关联查询其作用等同于xml配置文件中的assocation元素。
Many用于实现数据表的一对多关联查询Many注解的作用等同于xml配置文件中的collection元素。
Results用于映射查询结果。
Result用于完成实体类中属性和数据表中字段的映射。
10.Result注解中的常用属性及其作用。
property用于指定关联属性。
column用于指定关联的数据库表中的字段。
one用于一对一配置的关联查询。
many用于一对多配置的关联查询。