初学从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.xmlXML 配置文件中包含了对 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

 

 

 

 

posted @ 2020-10-18 22:42  努力开发的园宝  阅读(379)  评论(0)    收藏  举报