mybatis详解2----入门实例

我们最开始引入mybatis的时候的步骤:
1.先配置mybatis-configuration.xml文件,可以对里面的数据库连接信息进行参数化,利用自己定义的jdbc.properties文件进行参数的读取。全局配置文件主要的作用就是有两个:1.连接数据库2.注册mapper文件
2.定义返回查询数据的实体类,里面包含了getter和setter以及返回值toString的方法。
3.编写对应的mapper.xml文件,里面注意mapper标签中的 namespace的值,还有mapper标签内部,各种select,insert,update,delete的值以及属性。注意里面的resultType,查询需要返回结果的,如select,一般都是需要在实现的方法中定义一个List<实体类>去保存结果,所以需要注意resultType;另外一个就是parameterType,需要进行参数化的查询条件的类型,如where id = ${id},这里的parameterType的类型就是自己定义id的类型,如int或者String
4.将编写好的mapper.xml文件注册到mybatis-configuration.xml文件中

	
	
		
	

5.编写调用方法来实现查询
statement = mapper文件中的namespace+id
mybatis详解2----入门实例_第1张图片
此时的目录结构
mybatis详解2----入门实例_第2张图片

但是到这里我们只是完成了最基本的mybatis连接数据库的配置,我们还需要掌握通过mapper接口加载映射文件的方法,这对于后面ssm三大框架的整合是非常重要的
我们回顾一下之前的做法,在全局配置文件mybatis-configuration.xml中,通过标签来加载映射文件,但是假如我们有很多映射文件呐?我们就需要使用 mapper 接口来加载映射文件
1.定义mapper接口
mapper接口中定义了查询类型
注意:里面定义的方法名selectCustInfoById要和mapper.xml文件中的id一样,运行汇报找不到statement这种错误

public interface CustinfoMapper3 {
	public Mybatis3Custinfo selectCustInfoById(int id) throws Exception;
}

2.在全局配置文件mybatis-configuration.xml中加载mapper接口
注意:这里只是单个加载映射文件可以这样写,如果有很多mapper接口还这样写的话就跟之前的方法没什么区别,一样的很麻烦,如果有多个映射文件,我们可以直接加package标签,这个下面会说
mybatis详解2----入门实例_第3张图片
3.定义mapper.xml文件
这里的namespace就是mapper接口的路径,按住command可以进入查看定义的接口,这里面注意id要和mapper接口中定义的方法一致,其他的参数属性如resultType和parameterType跟之前一样 result是包名+类名
4.测试

			//定义mapper接口
			CustinfoMapper3 custinfoMapper3 = session.getMapper(CustinfoMapper3.class);
			Mybatis3Custinfo mybatis3Custinfo = custinfoMapper3.selectCustInfoById(2);
			System.out.println(mybatis3Custinfo);
			session.close();

mybatis详解2----入门实例_第4张图片
注意:
1.Mapper 接口必须要和 Mapper.xml 文件同名且在同一个包下,也就是说 Mapper.xml 文件中的namespace是Mapper接口的全类名
2.Mapper接口中的方法名和Mapper.xml文件中定义的id一致
3.参数一致返回类型一致
cookies
批量加载映射文件
直接在全局配置文件mybatis-configuration.xml文件中注册包名

所以综上,现在通过mybatis连接数据库比较好的方法为:
1.定义数据库查询返回结果的实体类
2.定义查询接口(接口里面的返回类型应该是定义的实体类的类型)
3.在全局配置文件中注册该接口(之前是注册mapper对应的xml文件)
4.定义mapper.xml文件(注意里面的id需要和接口中定义的方法一致)
5.定义test类进行测试

你可能感兴趣的:(数据库)