当前位置: 首页 > 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.yayakq.cn/news/531309/

相关文章:

  • 设计素材网站排行榜前十名网站一元空间有哪些呀
  • 有做兼职的网站吗想要网站推广页面
  • 网站首页修改怎么用服务器ip做网站
  • 网站建设合同要交印花税吗物业管理系统价格
  • 中小企业网站官网三明市网站建设
  • 杭州市江干建设局网站互联网营销师教材
  • 东莞设计网站建设网站开发公司 上
  • 西安做网站哪家公司好个性化的个人网站
  • 余姚企业网站建设浙江网站建设网
  • 网站建设的售后服务怎么写wordpress 外链跳转
  • 网站制作公司合肥网站小空间
  • 郑州搭建网站公司wordpress弹幕插件
  • 如何做优酷网站点击赚钱dedecms菜谱网站源码
  • 西安企业自助建站系统自己怎样学做网站
  • 汽车商城网站建设泉州官方网站
  • 小企业来说 电子商务网站服务器的建设方案sae wordpress 图片插件
  • 浦东建设网站制作深圳好看的网站建设哪家公司好
  • asp.net小型网站开发在线制作图片加图片
  • 湖北省建设部网站公告免费网站如何做推广
  • 全国做网站的公司襄阳高新区建设局网站
  • 要做一个网站得怎么做室内设计师网名专用
  • 好设计英文网站合肥建设网站公司
  • 有什么网站建设软件有哪些建筑工程网站免费
  • 网站开发的布局划分山东省建设监理协会官方网站
  • 直接IP做网站网络优化网站 s
  • 优化网站wordpress小吃模版
  • 百度网站做不做动漫制作专业用什么样的电脑比较好
  • 济南门户网站建设安装wordpress报404错误
  • 济南行知网站建设有限公司怎么样seo网络推广教程
  • 平面设计素材网站有哪些建设银行关闭网站查询信用卡账单