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

课程资源网站的建设怎么用html做百度首页网站

课程资源网站的建设,怎么用html做百度首页网站,网站推广包年,义乌做网站✅作者简介#xff1a;大家好#xff0c;我是Leo#xff0c;热爱Java后端开发者#xff0c;一个想要与大家共同进步的男人#x1f609;#x1f609; #x1f34e;个人主页#xff1a;Leo的博客 #x1f49e;当前专栏#xff1a; Spring专栏 ✨特色专栏#xff1a; M… ✅作者简介大家好我是Leo热爱Java后端开发者一个想要与大家共同进步的男人 个人主页Leo的博客 当前专栏 Spring专栏 ✨特色专栏 MySQL学习 本文内容Spring5学习笔记之整合MyBatis ️个人小站 个人博客欢迎大家访问 个人知识库 知识库欢迎大家访问 学习参考 讲师孙帅老师课程孙哥说Spring5 1.前言 在我们之前的系列文章中我们已经深入探讨了Spring5的两大核心组件IOC 和 AOP它们是Spring框架的基石。下面我们接着讨论开始讨论Spring5对于持久层框架MyBatis的整合让我们一起开启新的的篇章吧。 2.准备工作 在开始之前确保您已经安装了以下软件 JDK 1.8或更高版本Maven3.8Eclipse或IntelliJ IDEA或您最喜欢的Java IDEMySQL8.0MyBatis3.5 3.为什么要整合持久层 Spring整合持久层的主要目的是为了简化和提高应用程序的开发和维护效率以及提供更好的可扩展性和可测试性。以下是一些Spring整合持久层的好处 降低开发复杂性持久层是应用程序中一个重要的组成部分负责数据的存储和访问。通过Spring整合持久层可以使用Spring提供的一致的编程模型和API简化数据库操作和事务管理的代码减少开发人员的工作量和复杂性。提供事务管理 持久层通常需要处理事务确保数据的一致性和完整性。Spring提供了强大的事务管理功能可以通过声明式事务管理或编程式事务管理来管理事务。整合持久层后可以轻松地配置和管理事务而无需手动编写繁琐的事务管理代码。支持多种持久化技术 Spring整合持久层提供了对多种持久化技术的支持如关系型数据库如MySQL、Oracle、NoSQL数据库如MongoDB、Redis、对象关系映射ORM框架如Hibernate、MyBatis等。这使得开发人员可以根据项目需求选择合适的持久化技术并无缝地集成到应用程序中。提供数据访问抽象层 Spring提供了一套数据访问抽象层即Spring Data它简化了对数据的访问和操作。通过Spring Data可以使用简洁的API进行常见的数据访问操作如查询、插入、更新和删除等。Spring Data还提供了对分页、排序、缓存等功能的支持进一步提高了开发效率。支持依赖注入和面向切面编程 Spring的核心特性之一是依赖注入DI和面向切面编程AOP。通过整合持久层可以将持久层组件作为Spring的bean进行管理并通过依赖注入将其注入到其他组件中。同时可以使用AOP功能来实现横切关注点如日志记录、性能监控等。企业级应用的需求在JavaEE的开发中数据存储和管理是不可或缺的部分尤其当涉及到大量的用户信息、交易记录、商品数据等。为了确保数据的一致性、安全性和高效性我们需要一种可靠的方法来访问和操作数据库这就是持久层的职责。 综上所述Spring整合持久层可以简化开发工作提供事务管理、多种持久化技术的支持提供数据访问抽象层并支持依赖注入和面向切面编程。这些优势使得应用程序更易于开发、维护和扩展提高了开发效率和代码质量。 4.Spring能与哪些持久层技术整合 Spring可以与多种持久层技术进行整合包括但不限于以下几种 JDBC Spring提供了JdbcTemplate等工具类来简化JDBC的使用。它提供了一种更简单、更安全、更可靠的方式来执行SQL语句并处理结果集。ORM框架 Spring与多个ORM框架对象关系映射提供商进行了整合包括Hibernate、MyBatis、JPA等。通过Spring的整合可以使用ORM框架来简化数据库操作提供对象级别的持久化。JPA(Java Persistence API) Spring提供了对JPA的支持可以通过配置和注解的方式来定义实体类与数据库表之间的映射关系使用JPA进行对象的持久化操作。NoSQL数据库 Spring还可以与各种NoSQL数据库进行整合如MongoDB、Redis、Cassandra等。通过Spring Data模块可以使用统一的API和命名约定来进行数据访问和操作。Spring Data JPA Spring Data JPA是Spring对JPA的扩展提供了更高级的功能和更简化的API。它结合了Spring和JPA的特性使得使用JPA更加便捷。Spring Data JDBC Spring Data JDBC是Spring对JDBC的扩展提供了一种更简单的方式来进行JDBC操作。它通过注解和命名约定来进行数据库表和实体类之间的映射简化了JDBC的使用。Hibernate (JPA) Hibernate是一个流行的ORM对象关系映射框架而JPAJava持久化API是Java平台上的一个规范Hibernate是JPA的一种实现。Spring为Hibernate提供了HibernateTemplate工具它可以简化许多常见的Hibernate操作并且为我们处理事务、会话等常见问题。使用Spring与Hibernate的整合开发者可以轻松地将数据库记录映射到Java对象并执行持久化操作。MyBatis MyBatis是另一个流行的持久层框架它允许开发者直接编写SQL同时提供了灵活的结果映射功能。Spring为MyBatis提供了一系列工具如SqlSessionFactoryBean和MapperScannerConfigurer这些工具旨在简化MyBatis配置和使用过程。通过整合开发者可以在Spring应用中方便地使用MyBatis的特性同时享受Spring提供的事务管理、依赖注入等功能。 总之Spring可以与多种持久层技术进行整合通过提供统一的API和工具类简化了数据访问和持久化操作的开发工作。无论是关系型数据库还是NoSQL数据库都可以方便地与Spring整合使用。 5.Spring与MyBatis整合步骤 5.1 MyBatis步骤回顾 MyBatis原生的开发一共有如下几个步骤 1.实体 2.实体别名 3.数据表 4.创建DAO接口 5.实现Mapper文件 6.注册Mapper文件 7.MyBatisAPI的调用5.2 整合步骤 1.创建Maven项目 首先我们需要创建一个Maven项目。打开IDEA选择自己的工作目录点击确定即可 创建一个名为Leo-spring-mybatis的新Maven项目。 2.添加依赖项 打开pom.xml文件并添加以下依赖项 dependencies!-- Spring dependencies --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.9/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.3.9/version/dependency!-- MyBatis dependencies --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.7/version/dependencydependencygroupIdorg.mybatis/groupIdartifactIdmybatis-spring/artifactIdversion2.0.7/version/dependency!-- Database driver --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.26/version/dependency /dependencies这些依赖项将添加所需的Spring和MyBatis库以及MySQL数据库驱动程序。 3.配置配置文件 在src/main/resources目录下创建一个名为mybatis-config.xml的新文件并添加以下内容 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configuration PUBLIC -//mybatis.org//DTD Config 3.0//EN http://mybatis.org/dtd/mybatis-3-config.dtd configurationtypeAliasestypeAlias typeorg.javatop.pojo.User aliasUser//typeAliasesenvironments defaultdefaultenvironment iddefaulttransactionManager typeJDBC /dataSource typePOOLEDproperty namedriver valuecom.mysql.cj.jdbc.Driver /property nameurl valuejdbc:mysql://localhost:3306/teach-spring5?useSSLfalse/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environmentsmappers!--package name--mapper resourceUserMapper.xml//mappers/configuration在这个文件中我们配置了一个dataSource bean它使用MySQL数据库的连接信息。然后我们配置了一个sqlSessionFactory bean它使用dataSource bean并指定了MyBatis映射文件的位置。最后我们配置了一个sqlSession bean它使用sqlSessionFactory bean。 4.创建数据库表以及实体类 SQL语句 CREATE TABLE user (id int NOT NULL AUTO_INCREMENT COMMENT 编号,name varchar(255) DEFAULT NULL COMMENT 名称,email varchar(255) DEFAULT NULL COMMENT 邮箱,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT1003 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;在src/main/java/com/integration目录下创建一个名为User.java的新Java类并添加以下内容 package org.javatop.integration;/*** author : Leo* version 1.0* date 2023-10-19 21:37* description : User实体类*/ public class User {private Integer id;private String name;private String email;public User() {}public User(Integer id, String name, String email) {this.id id;this.name name;this.email email;}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}Overridepublic String toString() {return User{ id id , name name \ , email email \ };} }这是一个简单的User类它包含id、name和email字段并提供了相应的getter和setter方法以及toString方法。 5.创建数据访问对象(mapper) 在src/main/java/com/integration目录下创建一个名为UserDao.java的新Java接口并添加以下内容 package org.javatop.integration.mappper; import org.javatop.integration.pojo.User; import java.util.List;/*** author : Leo* version 1.0* date 2023-10-19 21:43* description : UserMapper*/ public interface UserMapper {/*** 通过用户ID查询用户* param id 用户ID* return 用户信息*/User getUserById(int id);/*** 查询所有用户* return 全部用户信息*/ListUser getAllUsers();/*** 添加用户* param user 用户*/void insertUser(User user);/*** 更新用户* param user 用户*/void updateUser(User user);/*** 删除用户* param id 用户id*/void deleteUser(int id); } 这个接口定义了一些用于操作User对象的方法。 6.创建MyBatis映射文件 在src/main/resources/org/javatop/integration/mapper目录下创建一个名为UserMapper.xml的新文件并添加以下内容 mapper namespacecom.integration.mappers.UserMapperselect idgetUserById resultTypecom.integration.UserSELECT * FROM users WHERE id #{id}/selectselect idgetAllUsers resultTypecom.integration.UserSELECT * FROM users/selectinsert idinsertUser parameterTypecom.integration.UserINSERT INTO users (name, email) VALUES (#{name}, #{email})/insertupdate idupdateUser parameterTypecom.integration.UserUPDATE users SET name #{name}, email #{email} WHERE id #{id}/updatedelete iddeleteUser parameterTypeintDELETE FROM users WHERE id #{id}/delete /mapper这个文件定义了一些SQL语句用于查询、插入、更新和删除用户数据。 7.测试应用程序 在test/org/javatop/目录下创建TestMyBatis测试类编写测试方法 /*** 用于测试: 查询所有用户*/Testpublic void test01() throws IOException {InputStream inputStream Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession sqlSessionFactory.openSession();UserMapper userMapper sqlSession.getMapper(UserMapper.class);ListUser userList userMapper.getAllUsers();for (User user : userList) {System.out.println(user user);}}控制台打印结果 5.3 结论 我们详细介绍了如何使用Spring 5整合MyBatis框架来构建一个完整的Java应用程序。我们学习了如何配置Spring和MyBatis创建数据模型实现数据访问对象和服务层以及创建控制器来处理HTTP请求。最后我们测试了应用程序的不同功能。希望这篇博客对您有所帮助 5.4 原生MyBatis存在的问题配置繁琐 实体别名注册 在MyBatis中为每个实体类定义别名可以使XML映射文件中的代码更加简洁。但当有大量实体类时手动为每一个实体类设置别名会非常繁琐。Mapper文件注册 在配置MyBatis时我们需要为每个Mapper XML文件进行注册这使得配置文件变得冗长难以管理。 包扫描虽然现代版本的MyBatis提供了package属性来自动扫描别名但在之前的版本中这是不支持的增加了使用的复杂性。 代码冗余API调用 在使用MyBatis API进行数据库操作时我们往往需要执行多个步骤包括获取SqlSession、执行操作、处理异常和关闭SqlSession等。这些操作在每次数据库访问时都需要重复导致代码冗余。资源管理 虽然MyBatis为我们提供了资源的自动管理但在某些情况下开发者仍需要手动管理数据库连接、会话等资源这增加了开发的复杂性。异常处理 在使用MyBatis进行数据库操作时可能会抛出多种异常。处理这些异常需要额外的代码使得主逻辑变得不那么清晰。 6.总结 以上便是本文的全部内容本人才疏学浅文章有什么错误的地方欢迎大佬们批评指正我是Leo一个在互联网行业的小白立志成为更好的自己。 如果你想了解更多关于Leo可以关注公众号-程序员Leo后面文章会首先同步至公众号。
http://www.lakalapos1.cn/news/17630/

相关文章:

  • 学做淘宝店的网站网站源码建站教程
  • 做网站切图的原则是什么网站建设算不算固定资产
  • 做网站编辑好还是美工好南昌seo报价
  • 做网站设计的公司柳州广告创意设计文案
  • 怎么下载建筑工程网seo公司软件
  • 南通高端网站建设咨询网站怎么更改后台登陆密码
  • 如何建立购物网站唐山市城乡建设网站
  • 网站建设理由和目的南昌网站开发多少钱
  • 网站截图可以做凭证吗怎么建设投票网站
  • 建设银行网站关闭闪付企业网站建设需要做哪些工作
  • 网站建设 推广 公司wordpress文章升序
  • 电子商务网站建设课程设计思路微妙音门户网站建设
  • 做资源网站怎么赚钱在家做私房菜的网站
  • 做网站商城需要什么软件海南省官网
  • 可以做动漫的网站有哪些网上申报系统入口
  • 网站搭建环境迁安三屏网站建设
  • 宁陵做网站wordpress基础开发教程
  • 数据来源于网站怎么做参考文献长沙建设工程造价网
  • 张家港快速网站建设r语言做网站
  • 品牌网站建设968织梦网站内容自动更新
  • 做购物网站 需要手续wordpress 艺术品主题
  • 百度网站考核期wordpress xydown
  • 南通高端网站建设开发合肥万户网站建设
  • 中信银行门户网站系统龙岗区建设工程交易中心
  • 南京手机网站制作公司温州设计集团
  • 网站开发完后部署到网上有网站吗推荐一下
  • 重庆专业网站建设广东省住房和城乡建设厅
  • 高端网站制高雅大气有寓意的公司取名
  • 做网站所需要的代码景区门户网站建设方案
  • 淘宝客可以做返利网站吗以下哪些软件不是网页制作软件