1.MyBatis简介
1.1JDBC存在的问题1.
数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。
2.Sql语句在代码中硬编码,造成代码不易维护,实际应用sl变化的可能较大,sql变动需要改变java代码。
3.使用preparedStatement向占位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改Sq还要修改代码,系统不易维护。
4.对结果集解析存在硬编码(查询列名),$q变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。
上面的问题,借助于第三方工具如DBUtils或者Spring中自带的数据库操作框架JdbcTemplate,都可以在一定程度上解决该问题。但是不完美,真正能解决这些问题的框架就是两大类,一种就是MyBatis,另一种则是Jpa。
首先创建一个普通的Maven工程,添加MyBatis依赖:
接下来,准备一个Mapper文件,Mapper是用来在MyBatis中定义SQL的XML配置文件,由于在实际开发中,我们经常需要使用到Mapper,经常需要自己创建Mapper文件,因此,我们可以将Mapper文件做成一个模板。具体操作如下:
配置完成后,再次创建Mapper文件时,就可以选择New->mapper了,这里,创建一个UserMapper:
创建一个新的mapper,需要首先给它取一个namespace,这相当于是一个分隔符,因为我们在项目中,会存在很多个Mapper,每一个Mapper中都会定义相应的增删改查方法,为了避免方法冲突,也为了便于管理,每一个Mapper都有自己的namespace,而且这个namespace不可以重复。接下来,在Mapper中,定义一个简单的查询方法,根据id查询一个用户:
在Mapper中,首先定义一个select,id表示查询方法的唯一标识符,resultType定义了返回值的类型。在select节点中,定义查询SQL,#{id},表示这个位置用来接收外部传进来的参数。
定义的User实体类,如下:
接下来,创建MyBatis配置文件
在这个配置文件中,只需要配置environments和mapper即可,在mappers节点中,定义Mapper,也就是指定我们上一步所写的Mapper的路径。
最后,加载这个主配置文件:
我们可以对SqlSessionFactory进行封装
这样,在需要使用的时候,通过这个工厂方法来获取SqlSessionFactory的实例。
标签:Mapper,毕设,定义,配置文件,创建,代码,3.14,MyBatis From: https://www.cnblogs.com/zhiqi2625/p/18077537