与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接。
很好的与各种数据库兼容,开发人员不需要考虑数据库的差异性。
MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,解除sql与程序代码的耦合,便于统一管理和优化,并可重用。
提供XML标签,支持编写动态SQL语句。
提供映射标签,支持对象与数据库的ORM字段关系映射。
提供对象关系映射标签,支持对象关系组建维护。
左侧选择Spring Initializr,选择JDK1.8以上,点击Next
将Java Version改为了8,Artifact改为了mybatis_test
选择项目所需要的依赖,这个页面是选择你工程中需要用到的依赖,因为我们的目标是web项目使用MyBatis所以在web模块中勾选Spring Web。
在SQL中依次勾选Jdbc API、Mybatis framework、Mysql Driver。
然后Next直到finish即可
2)配置相关文件查看目录下pom.xml文件
pom.xml:
4.0.0 org.springframework.boot spring-boot-starter-parent2.5.6 com.example mybatis_text0.0.1-SNAPSHOT mybatis_text Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-jdbcorg.springframework.boot spring-boot-starter-weborg.mybatis.spring.boot mybatis-spring-boot-starter2.2.0 mysql mysql-connector-javaruntime org.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-maven-plugin
Spring Boot通过pom.xml中引入模块化的Stater,使得常规的开发场景可以很快把应用搭建起来。在使用Spring Boot的过程中,除了可以在pom.xml中配置一些内容外,一些项目相关的配置也可以在application.properties中通过配置来完成。
修改application.properties文件,application.properties是项目自带的配置文件,也可以建立其他的配置文件,可以在文件中添加端口、数据源、mybatis等相关数据。
本文添加以下内容
application.properties:
server.port=8080 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/runoob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC #3306端口号后为数据库名 spring.datasource.username=root //账户 spring.datasource.password=root //密码 mybatis.mapper-locations=classpath:mapper/*Mapper.xml(3)项目编写 1.定义数据库 2.创建实体类实现业务流程
1.创建entity实体层:用于存放实体类,与数据库中属性值基本保持一致,实现set和get的方法。
2.创建mapper映射层:用于对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与*Mapper.xml内相互一一映射。
3.创建Mapper映射对应的WebsiteMapper.xml文件
注意该文件放在resources目录下的mapper包中,具体包名位置namespace要和上边的映射类对应。
.创建service业务层:用于给controller层的类提供接口进行调用。
三、运行测试通过点击IDEA右上角的启动按钮来启动项目
在网址栏输入:
http://localhost:8080/website/getAllWebsite
http://localhost:8080/website//getWebsiteById/1
进行测试
总结
mybatis对JDBC的那些优化
(1) 使用数据库连接池对连接进行管理(protecties文件)
(2) SQL语句统一存放到配置文件(mapper文件)
(3) SQL语句变量和传入参数的映射以及动态SQL(${username}、、、)
(4) 动态SQL语句的处理(if、、、test、、、)
(5) 对数据库操作结果的映射和结果缓存
(6) SQL语句的重复(mapper文件)



