当前位置: 首页> 房产> 家装 > ppt模板免费下载网_创建一个网址需要多少钱_杭州全网推广_产品营销策略

ppt模板免费下载网_创建一个网址需要多少钱_杭州全网推广_产品营销策略

时间:2025/7/12 4:23:31来源:https://blog.csdn.net/zp357252539/article/details/147545131 浏览次数:0次
ppt模板免费下载网_创建一个网址需要多少钱_杭州全网推广_产品营销策略

以下是Spring和Spring Boot集成MyBatis的完整对比示例,包含从项目创建到测试的全流程代码:
在这里插入图片描述


一、Spring集成MyBatis示例

1. 项目结构
spring-mybatis-demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example/
│   │   │       ├── config/
│   │   │       ├── mapper/
│   │   │       ├── service/
│   │   │       └── web/
│   │   └── resources/
│   │       ├── mybatis-config.xml
│   │       ├── applicationContext.xml
│   │       └── mapper/
│   │           └── UserMapper.xml
│   └── test/
│       └── java/
│           └── com.example/
│               └── UserTest.java
├── pom.xml
└── schema.sql
2. Maven依赖(pom.xml)
<!-- Spring核心 -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.20</version>
</dependency>
<!-- MyBatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.10</version>
</dependency>
<!-- MyBatis-Spring整合 -->
<dependency><groupId>org.mybatis.spring</groupId><artifactId>mybatis-spring</artifactId><version>2.0.6</version>
</dependency>
<!-- 数据库驱动 -->
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.30</version>
</dependency>
<!-- 测试 -->
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope>
</dependency>
3. 数据库表(schema.sql)
CREATE TABLE user (id BIGINT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(255) NOT NULL,email VARCHAR(255) UNIQUE NOT NULL
);
4. MyBatis全局配置(mybatis-config.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><setting name="cacheEnabled" value="true"/></settings>
</configuration>
5. Spring配置(applicationContext.xml)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 数据源 --><bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="root"/></bean><!-- MyBatis工厂 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 扫描Mapper接口 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.example.mapper"/></bean></beans>
6. Mapper接口(UserMapper.java)
package com.example.mapper;import com.example.entity.User;public interface UserMapper {User selectById(Long id); // 对应XML中的SQL
}
7. Mapper XML(UserMapper.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><select id="selectById" resultType="com.example.entity.User">SELECT * FROM user WHERE id = #{id}</select>
</mapper>
8. Service层(UserService.java)
package com.example.service;import org.springframework.beans.factory.annotation.Autowired;
import com.example.mapper.UserMapper;
import com.example.entity.User;public class UserService {@Autowiredprivate UserMapper userMapper;public User getUser(Long id) {return userMapper.selectById(id);}
}
9. 测试类(UserTest.java)
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class UserTest {@Testpublic void testGetUser() {ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = context.getBean(UserService.class);User user = userService.getUser(1L);System.out.println(user.getName());}
}

二、Spring Boot集成MyBatis示例

1. 项目结构
springboot-mybatis-demo/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com.example/
│   │   │       ├── config/
│   │   │       ├── mapper/
│   │   │       ├── service/
│   │   │       └── Application.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── mapper/
│   │           └── UserMapper.xml
│   └── test/
│       └── java/
│           └── com.example/
│               └── UserTest.java
├── pom.xml
└── schema.sql
2. Maven依赖(pom.xml)
<dependencies><!-- Spring Boot Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- MyBatis Starter --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><!-- 数据库驱动 --><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><version>8.0.30</version></dependency><!-- 测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>
3. 数据库表(schema.sql)
// 与Spring示例相同
4. 配置文件(application.properties)
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Drivermybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.entity
5. 启动类(Application.java)
package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication // 自动扫描组件
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
6. Mapper接口(UserMapper.java)
package com.example.mapper;import org.apache.ibatis.annotations.Mapper; // 非必需,但显式标注
import com.example.entity.User;@Mapper
public interface UserMapper {User selectById(Long id);
}
7. Mapper XML(UserMapper.xml)
// 与Spring示例相同
8. Service层(UserService.java)
package com.example.service;import org.springframework.beans.factory.annotation.Autowired;
import com.example.mapper.UserMapper;
import com.example.entity.User;@Service // Spring Boot自动扫描组件
public class UserService {@Autowiredprivate UserMapper userMapper;public User getUser(Long id) {return userMapper.selectById(id);}
}
9. 测试类(UserTest.java)
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class UserTest {@Autowiredprivate UserService userService;@Testpublic void testGetUser() {User user = userService.getUser(1L);System.out.println(user.getName());}
}

三、核心差异对比表

特性Spring集成Spring Boot集成
依赖管理需显式声明所有依赖(如MyBatis、Spring模块)通过starter自动引入依赖,减少配置
配置方式XML/Java Config手动配置Bean属性文件(application.properties)+ 注解
数据源配置手动定义dataSource Bean通过spring.datasource前缀自动配置
Mapper扫描MapperScannerConfigurer配置通过@Mapper注解或mybatis.mapper-locations
启动方式ClassPathXmlApplicationContext加载配置单一入口类加@SpringBootApplication注解
测试框架需JUnit4和Spring Test支持Spring Boot Test简化测试配置
环境兼容性兼容传统Spring应用服务器(如Tomcat)内置嵌入式Tomcat,直接运行JAR
代码量配置复杂,需定义多个Bean配置简洁,依赖约定优于配置原则
扩展性手动控制所有配置细节通过@EnableAutoConfiguration禁用自动配置

四、关键差异总结

  1. 依赖简化:Spring Boot通过starter自动管理依赖版本,避免冲突。
  2. 配置自动化:Spring Boot的application.properties替代了大量XML配置,如数据源和Mapper扫描。
  3. 启动便捷性:Spring Boot通过@SpringBootApplication简化了应用启动流程。
  4. 测试效率:Spring Boot的测试框架(如@SpringBootTest)减少了测试代码的复杂性。
  5. 开发模式:Spring Boot遵循“约定优于配置”,适合快速开发;Spring保留了对复杂场景的完全控制能力。
关键字:ppt模板免费下载网_创建一个网址需要多少钱_杭州全网推广_产品营销策略

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: