一、MyBatis使用的两种方式:
第一种:方式是自动映射
第二种:使用XML方式
二、MyBatis操作:
1、使用Mapper文件方式
2、使用Mapper接口和注解方式
3、mapper文件与mapper接口结合使用(推荐这种方法)
这里介绍使用xml方式(MyBatis操作可以完全使用XML的映射文件进行操作)
(一)、mapper文件与mapper接口结合使用:
1、编写实体类,添加get和set方法、toString方法
2、创建MyBatis操作的数据访问接口
#MyBatis的操作:
MyBatis操作的接口或类
SqlSession ——接口
SqlSessionFactory ——接口
SqlSessionFactoryBuilder ——类
MyBatais是使用SqlSession类型的对象对数据库进行操作,而SqlSessin是一个接口,该接口类型的对象由SqlSessionFactory类型对象创建。
SqlSessionFactory也是一个接口,该接口类型的对象是由SqlSessionFactoryBuilder的build方法创建的。
注意:在创建SqlSessionFactory时,需要一个输入流对象,该输入流对象就是去读取一个MyBatis的配置文件,如图
3、配置图上的net—mybatis-conf.xml,(MyBatis的配置文件是一个XML文件)
MyBatis的配置文件主要配置数据库操作的环境及映射信息
4、配置MyBatis的映射文件
主要用于关系模型与对象模型的映射
映射文件的根节点:mapper 其属性:namespace
其详细的定义(注意<mapper/>节点的namespace一定是接口类型的完全限定名)
MyBatis操作的数据访问接口名:
MyBatis映射文件:
<select/>:查询 <insert/>:插入 <delete/>:删除 <update/>:更新 这四个是MyBatis映射文件中的<mapper>的操作子节点(这四个子节点的id属性要与数据接口类型的完全限定名)
要执行的SQL语句,如果该语句有参数,使用#{参数名}结出。如果不给参数,就可以不要。
5、把MyBatis的映射文件加载到MyBatis的配置文件中
6、编写测试接口类
结果:
接口与Mapper文件结合使用:
注意:
1、Mapper文件中的<mapper/>节点的namespace一定是接口类型的完全限定名
2、接口当中的方法名与<mapper/>中的子节点<操作节点>(select,delete,update,insert)节点的id值相同
3、接口方法的参数,是要和Mapper文件操作节点的parameterType(parameterMap)内容要对应。
(二)、使用Mapper接口和注解方式
在进行MyBatis操作时可以不要Mapper文件,操作的SQL语句,使用注解的方式给出。
示例:
在接口中直接编写sql语句:
把数据访问接口加载到MyBatis配置文件中(这里就不能用resource属性了,要用class属性),然后去测试这个接口,效果和mapper文件与mapper接口结合是一样:
注意:这里说一下加载属性文件,下图是我的mysql数据库的jdbc url
在xml文件中配置jdbc url的时候,&这个符号是需要转义成& 也就是转成实体,如下:
jdbc:mysql://localhost:3306/netmarketdb?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
但是如果是在文件中就不用这个实体也就是&,直接使用&符号连接即可; 示例如下:
在MyBatis配置文件中,用<properties/>中<property/>子节点加载属性文件及定义属性,然后用EL表达式的${ }符号获取属性文件中的键。
在这里有两种配置方法,也就是上述说描述的
1、直接在xml文件中配置连接数据库的四个基本信息
2、在属性文件中写好连接数据库的四个基本信息,再到MyBatis的配置文件中加载属性文件,再用EL表达式去获取属性文件中的键
原文地址:https://www.cnblogs.com/xss512/p/10843425.html