初学从JDBC转换为Mybatis
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
减少了重复的sql语句还有查询之后还要resultset来输出,这些都不需要了
第一步:(准备工作)连接数据库,在项目的核心配置文件pom.xml中导入mysql,mybatis的jar包

第二步:每一个MyBatis的项目都要有一个SqlSessionFactory的对象。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得,因为每次都需要SqlSessionFactory,所以把它封装成一个工具类
第三步:由于上一步创建sqlsessionfactory需要导入一个配置文件,所以这一步就来写mybatis-config.xml。XML 配置文件中包含了对 MyBatis 系统的核心设置,包括连接数据库的用户名密码和数据库驱动

配置文件也写完之后再回到工具类当中,创建了sqlsessionfactory,通过SqlSessionFactory来创建SqlSession,而这个sqlsession就是我们每一次在测试时要调用的方法

以上都是固定代码,可复用的
第四步:开始写实体类,封装表中的数据。之后就写了含有该查询方法的接口


第五步 :之前的JDBC就是实现接口的方法,然后在里面写sql语句,connection,prepartstment还有resultset。
这回在MyBaits里只需要写一个mapper.xml来绑定这个接口,来代替当初的实现类,就不用再写那些connection那么麻烦了,
并且查询的结果集就是以resultType的形式返回。
接口实现类由原来的UserDaoImpl转变为一个Mapper的配置文件(所有的sql语句就写在这个配置文件中就可以了)

最后开始测试:先获取sqlsession的对象,再通过sqlsession.getMapper来拿到当时定义的接口,再通过接口调用里面的方法,方法已经被mapper.xml绑定并且內部也写了sql语句,所以直接调用方法即可,最后要关闭sqlsession,不关会占内存

注意:1.每一个实现Mapper的Mapper.xml都quanyi要去核心配置文件里进行注册,否则会报绑定异常


2.maven中会有资源导出问题,就是写的xml和propertise无法被导出或者生效的问题,所以要在项目的核心配置文件pom.xml中添加一段导出代码
把filtering过滤器都设置为true,添加完此代码删除,发现程序运行没有报错,是因为maven的缓存问题

2020-10-18—22:41:25

这些相当于是一些学习笔记,有说的不对的,可以跟我留言告诉我哦


浙公网安备 33010602011771号