_Spring技术–Spring整合Mybatis–整体思路
- 首先需要明确思路:
- Mybatis是集成JDBC的工具,作用通过JDBC操作数据库,包括但不限于数据库表的增删改查;
- Spring是一个开发框架,可以整合Mybatis,通过解耦,使得在实际的开发中易于维护
- Spring既然是一个开发框架,那么就有其相对固定的框架格式(所展示的为纯注解开发,不需要配置xml文件):
_Spring技术–Spring整合Mybatis–依赖导入
-
需要导入的jar包参考:
-
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>Spring_04</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.29</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.10.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- ** mybatis的整合包不能乱配置,mybatis3.5.6对应的整合包是1.3.0 ** --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.11</version> </dependency> </dependencies> </project>
-
_Sping技术–Spring整合Mybatis–JdbcConfig类配置
-
创建jdbc连接数据库相关配置的bean(driver,url,username,password):
-
为了解耦,将配置参数driver、url、username、password提取到配置文件中进行具体的赋值,其具体操作为:
- 在JdbcConfig配置类中配置@Value,参数为类里面bean的简单参数值:
-
所对应的具体值放在类的外部文件中:
-
书写格式样例为:
_Sping技术–Spring整合Mybatis–MybatisConfig类配置
-
中心思路:就是将两个方法配置为Bean,放在Ioc容器中提供使用:
-
接下来仔细说说所导入的两个包"com.Alvis.domin":
两个点:
- 定义参数
- get and set 方法,toString重写
需要注意的是该类的继承接口Serializable不能漏写
-
然后就是"com.Alvis.dao"包:
-
最后的一个配置类就是SpringConfig配置类:
-
在test文件中编写java程序实现需求:
-
package test; import com.Alvis.config.SpringConfig; import com.Alvis.domain.Person; import com.Alvis.service.PersonService; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.List; public class App_01 { public static void main(String[] args) { ApplicationContext apx = new AnnotationConfigApplicationContext(SpringConfig.class); PersonService personService = apx.getBean(PersonService.class); Person personSelect = personService.selectById(2); System.out.println(personSelect); } } ======================================= 8月 20, 2022 9:44:29 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info 信息: {dataSource-1} inited Person{id=2, name='李四', age=95, address='上海'} 进程已结束,退出代码0
-