MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
本文将介绍Mybatis的入门案例,以及解决各位小伙伴在编写入门案例时可能遇到的问题
1.创建maven项目,创建项目就不演示了
2.在maven项目中的配置文件Pom.xml中添加mybatis必须的依赖:
mysql驱动:mysql-connector-java
mybaits依赖:mybatis
3.创建数据库
定义实体类
4.在resources包中创建mybatis-config.xml文件,这是mybatis中最重要的配置文件,里面主要是配置与数据库建立连接所需要的数据,注意要将该配置文件放在resources目录下,不然系统不会自动扫描该文件
注:这里的settings不是必须,是为了在运行时展示日志,即运行时的每一步操作
mapper标签下的resource为下文创建的mapper.xml配置文件的路径
5.创建在src目录下创建mapper的接口方法,这相当于传统在jdbc中的dao层中定义调用数据库的操作方法
注:此类中的方法不可重载
在resources目录下创建上文提到的mapper.xml配置类,并在此配置文件中可以编写与书库进行交互的代码:
注意:这里的id值应该与mapper接口中的方法值保持一致,因为这是mapper方法的实现方法
6.最后边学测试方法进行测试,这里代码比较复杂,多写两遍就记住了,记不住也不要紧,后续的springBoot会省略这些步骤的
我这里的测试方法中是未加入sqlSession回滚的即sqlSession.comit()方法,这里执行时不会报错,但是数据不会在数据库执行成功
什么是事务回滚?
事务回滚是指将该事务已经完成对数据库的更新操作撤销,在事务中,每个正确的原子都会被顺序执行,知道遇到错误的原子操作。
什么是回滚?
回滚是删除由一个或多个部分完成的事务执行的更新,为保证应用程序、数据库或系统错误后还原数据库的完整性,需要使用回滚。
回滚包括程序回滚和数据回滚等类型(泛指程序更新失败,返回上一次正确状态行为)
加上sqlSession.comit()就可以解决啦!!!