当前位置: 首页 > news >正文

旅行网站开发背景青岛关键词排名系统

旅行网站开发背景,青岛关键词排名系统,凡科永久封禁了怎么办,怎么把一个网站的关键词引言 在现代Java开发中,Spring Boot和MyBatis被广泛使用,它们分别代表了轻量级的企业级开发框架和优秀的持久化框架。本文将探讨如何在Spring Boot项目中整合MyBatis,以构建高效、灵活且易于维护的持久层。通过这一完美结合,开发…

引言

在现代Java开发中,Spring Boot和MyBatis被广泛使用,它们分别代表了轻量级的企业级开发框架和优秀的持久化框架。本文将探讨如何在Spring Boot项目中整合MyBatis,以构建高效、灵活且易于维护的持久层。通过这一完美结合,开发者能够充分发挥Spring Boot的便捷和MyBatis的灵活,提升开发效率和代码质量。

Spring整合MyBatis

  • 引入依赖
<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!--1.导入mybatis与spring整合的jar包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><!--导入spring操作数据库必选的包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.10.RELEASE</version></dependency>
</dependencies>

注意:druid 不是必须,按需引入。

  • Spring核心配置
// 使用@Configuration注解标记该类为Spring配置类,用于定义和注册bean。  
@Configuration  
// 使用@ComponentScan注解来指定Spring应扫描的包路径,以查找组件、配置和注解。  
@ComponentScan("com.example")  
// 使用@PropertySource注解来指定外部属性文件的位置,以便从这些文件中加载属性值。  
@PropertySource("jdbc.properties")  
// 定义一个公共类SpringConfig。  
public class SpringConfig {  }
  • MyBatis要交给Spring接管的bean
//定义mybatis专用的配置类
@Configuration
public class MyBatisConfig {
//    定义创建SqlSessionFactory对应的bean@Beanpublic SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){//SqlSessionFactoryBean是由mybatis-spring包提供的,专用于整合用的对象SqlSessionFactoryBean sfb = new SqlSessionFactoryBean();//设置数据源替代原始配置中的environments的配置sfb.setDataSource(dataSource);//设置类型别名替代原始配置中的typeAliases的配置sfb.setTypeAliasesPackage("com.example.pojo");return sfb;}
//    定义加载所有的映射配置@Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){MapperScannerConfigurer msc = new MapperScannerConfigurer();msc.setBasePackage("com.example.dao");return msc;}}
  • 数据源对应的bean,此处使用Druid数据源
@Configuration
public class JdbcConfig {@Value("${jdbc.driver}")private String driver;@Value("${jdbc.url}")private String url;@Value("${jdbc.username}")private String userName;@Value("${jdbc.password}")private String password;@Bean("dataSource")public DataSource dataSource(){DruidDataSource ds = new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(userName);ds.setPassword(password);return ds;}
}
  • 数据库连接信息(properties格式)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_mybatis
jdbc.username=root
jdbc.password=root
  • 缺点
  1. 配置复杂:相对于 Spring Boot 的自动配置,Spring 需要手动配置 MyBatis 的相关组件,如 SqlSessionFactory、Mapper 等。这需要开发人员对 MyBatis 和 Spring 有更深入的了解。
  2. 依赖管理不便:在 Spring 中,需要手动添加和管理 MyBatis 和其他相关库的依赖。而在 Spring Boot 中,通过自动配置和集成的依赖管理,可以更方便地管理和升级这些库的版本。

Spring Boot整合MyBatis

  • 数据准备
CREATE TABLE `user` (`id` int(10) NOT NULL AUTO_INCREMENT,`name` varchar(20) DEFAULT NULL,`pwd` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
  • 实体类

创建与数据库表对应的实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {private Integer id;private String name;private String pwd;
}
  • 引入依赖

pom.xml中添加Spring Boot和MyBatis的相关依赖:

<dependencies><!-- Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><!-- MySQL Connector --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency>
</dependencies>
  • 配置数据库信息

application.propertiesapplication.yml中配置数据库连接信息:

#.配置相关信息
spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis01username: rootpassword: root
  • 配置mybatis相关配置
mybatis:mapper-locations: classpath:mapper/*Mapper.xml # mapper映射文件路径type-aliases-package: com.example.pojo # 配置哪个包下的类有默认的别名
  • 编写Mapper接口

创建Mapper接口,定义对数据库的操作,使用@Mapper注解标明该接口是MyBatis的Mapper。

注意在接口上加上 @Mapper @Repository 注解
@Repository
@Mapper
public interface UserMapper {public List<User> findAll();
}
  • 编写mapper接口对应的xml文件

在resources目录下创建mapper/UserMapper.xml文件,编写SQL语句,定义与Mapper接口中方法对应的数据库操作。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><select id="findAll" resultType="com.example.pojo.User">select * from user</select>
</mapper>
  • 编写Spring Boot 主启动类

在Spring Boot的主应用类上添加@MapperScan注解,指定Mapper接口所在的包路径:

@MapperScan( basePackages = "com.example.mapper")
@SpringBootApplication
public class UserApplication {public static void main(String[] args) {SpringApplication.run(UserApplication.class, args);}
}
  • 测试

编写单元测试,验证MyBatis的持久化操作,确保整合的正确性。在业务层中注入UserMapper,即可通过调用Mapper接口的方法进行数据库操作。

@SpringBootTest(classes = UserApplication.class)
public class MyTest {@AutowiredUserMapper userMapper;@Testpublic void tesMapper(){System.out.println(userMapper.findAll());}
}

通过以上步骤,你已成功地将Spring Boot与MyBatis整合,构建了一个高效的持久层。这个结合体为开发者提供了Spring Boot的便捷配置和MyBatis的灵活性,使得数据库操作更加轻松、高效。在实际应用中,通过使用MyBatis的动态SQL、缓存机制等高级特性,可以更灵活地满足各种业务需求。

结语

Spring Boot整合MyBatis是构建现代Java应用的常见实践,本文详细介绍了整合的基础配置和操作步骤。通过这一结合,开发者可以借助Spring Boot的自动化配置和MyBatis的灵活性,轻松构建可维护、高效的持久层。这个强大的组合使得数据库操作更加愉悦,为应对各类业务场景提供了稳健的解决方案。

http://www.ds6.com.cn/news/120156.html

相关文章:

  • wordpress主题 mnews优化大师是什么软件
  • 做网站好的网站建设公司全球搜怎么样
  • 网站域名变更后怎样操作国际新闻头条今日要闻
  • 做网站app优惠活动的武汉seo群
  • 政府网站cms百度推广如何办理
  • 成都网站建设服务功能成都seo论坛
  • s上海网站建设预测2025年网络营销的发展
  • 昆山网站建设官网引擎网站
  • 武汉光谷网站建设优化大师哪个好
  • 有哪些新手做外链的网站深圳网络推广seo软件
  • 网站建设排序题app搜索优化
  • 百度抓取不到网站常用的网络推广手段有哪些
  • 做调查网站赚钱seo免费优化网站
  • 园区 网站建设方案全网整合营销
  • 金馆长做图网站福州短视频seo公司
  • 北京住房和经济建设发展委员会网站百度提交网站
  • 如何看一个网站是用哪个语言做的打开百度
  • 网站的域名每年都要续费网络优化基础知识
  • 个人做网站如何赚钱吗谷歌seo价格
  • 公司网站建设的定位语要怎么取注册一个域名需要多少钱
  • 个人如何通过网站赚大钱网站seo优化排名
  • 做公众号的网站有哪些功能自媒体人专用网站
  • 公司电子邮箱怎么注册南昌seo代理商
  • 国外网站视觉设计趋势友情链接多久有效果
  • 帮忙做公司网站企业推广方法
  • 建筑公司网站制作环球网今日疫情消息
  • 苏宁易购网站建设网络营销推广工具
  • dede网站模板客推广资源网
  • 电商公司运营策略天门seo
  • 网站正在建设页面模板优化大师电脑版