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

如何c2c网站建设app技术

如何c2c网站建设,app技术,松江做网站需要多少钱,站长之家 站长工具SSM框架的学习与应用(Spring Spring MVC MyBatis)-Java EE企业级应用开发学习记录#xff08;第一天#xff09;Mybatis的学习 一、当前的主流框架介绍(这就是后期我会发出来的框架学习) Spring框架 ​ Spring是一个开源框架#xff0c;是为了解决企业应用程序开发复杂…SSM框架的学习与应用(Spring Spring MVC MyBatis)-Java EE企业级应用开发学习记录第一天Mybatis的学习 一、当前的主流框架介绍(这就是后期我会发出来的框架学习) Spring框架 ​ Spring是一个开源框架是为了解决企业应用程序开发复杂性而创建的其主要优势之一就是分层架构。Spring提供了更完善的开发环境可以为POJOPlain Ordinary Java Object普通Java对象对象提供企业级的服务。 Spring MVC框架 ​ Spring MVC是一个Web开发框架可以将它理解为Servlet。在MVC模式中Spring MVC作为控制器Controller用于实现模型与视图的数据交互是结构最清晰的。 ​ Spring MVC框架采用松耦合、可插拔的组件结构具有高度可配置性与其他的MVC框架相比具有更强的扩展性和灵活性。 MyBatis框架 ​ MyBatis 是Apache的一个开源项目iBatis2010年这个项目由Apache Software Foundation迁移到了Google Code并且改名为MyBatis 2013年11月MyBatis又被迁移到Github。 ​ MyBatis是一个优秀的持久层框架它可以在实体类和SQL语句之间建立映射关系是一种半自动化的ORMObject/Relation Mapping即对象关系映射实现。MyBatis封装性要低于Hibernate但它性能优越、简单易学在互联网应用的开发中被广泛使用。 Spring Boot 框架 ​ Spring Boot 框架是 Pivotal 团队基于 Spring 开发的全新框架其设计初衷是为了简化 Spring 的配置使用户能够构建独立运行的程序提高开发效率。 ​ Spring Boot 框架本身并不提供 Spring 框架的核心特性及扩展功能它只是用于快速、敏捷地开发新一代基于 Spring 框架的应用同时它还集成了大量的第三方类库如Jackson、JDBC、Redis 等使用户只需少量配置就能完成相应功能。 Spring Cloud 框架 ​ Spring Cloud 是一系列框架的有序集合为开发人员构建微服务架构提供了完整的解决方案它利用Spring Boot 的开发便利性巧妙地简化了分布式系统的开发。例如配置管理、服务发现、控制总线等操作都可以使用 Spring Boot 做到一键启动和部署。可以说Spring Cloud 将 Spring Boot 框架进行了再封装屏蔽掉了复杂的配置和实现原理具有简单易懂、易部署和易维护等特点。 那么开始今天的主题MyBatis的学习 二、什么是MyBatis ​ MyBatis是一个支持普通SQL查询、存储过程以及高级映射的半自动化持久层框架它消除了几乎所有的JDBC代码和参数的手动设置以及对结果集的检索使用简单的“XML”或“注解”进行配置和原始“映射”将接口和Java的POJO映射成数据库中的记录使得Java开发人员可以使用面向对象的编程思想来操作数据库。 PS(名词解释) XML可扩展标记语言 XML 是一种标记语言用于描述数据的结构和内容。它被广泛用于数据的存储、交换和表示。XML 使用标签来标识数据的不同部分并使用元素、属性和文本来组织数据。XML 具有可扩展性允许用户定义自己的标签和数据结构。由于其通用性和可扩展性XML 在 Web 开发、数据传输、配置文件等领域都有广泛应用。注解Annotation 注解是一种元数据metadata可以应用于代码中的类、方法、字段等元素。**它们不会直接影响程序的执行但可以提供额外的信息给编译器、解释器、工具和其他程序。在 Java 中注解是以 符号为前缀的特殊标记。**注解可以用于提供编译时的指示、运行时的处理、文档生成等。常见的 Java 注解包括 Override表明是方法重写、FunctionalInterface函数式接口、Nullable表明元素可以为null、Autowired 用于标记字段、构造器或方法表示自动装配自动注入该组件 等后面我会发一个常见注解的说明映射Mapping在编程中映射通常指的是将一个数据或对象关联到另一个数据或对象的过程。这可以是不同数据结构之间的对应关系比如数据库表的列与对象属性的对应关系或者是 URL 路径与控制器方法的对应关系。在数据库中对象-关系映射ORM指的是将数据库表映射到面向对象的类的过程。在 Web 开发中URL 路由映射指的是将请求的 URL 映射到相应的处理程序或方法上。 ​ MyBatis框架是一个ORMObject/Relation Mapping即对象关系映射框架。所谓的ORM就是一种为了解决面向对象与关系型数据库中数据类型不匹配的技术它通过描述Java对象与数据库表之间的映射关系自动将Java应用程序中的对象持久化到关系型数据库的表中。ORM框架的工作原理可以通过一张图来展示。 这段加粗文字如果简单理解的话那就是可以把Java中的数据类型自动转换识别成数据库的数据类型 当使用ORM框架将Java中的基本数据类型映射到数据库时通常的映射规则如下 byte -- TINYINTshort -- SMALLINTint -- INTlong -- BIGINTfloat -- FLOATdouble -- DOUBLEboolean -- BIT对于MySQL和SQL Server等数据库BOOLEAN对于PostgreSQL等数据库char -- CHAR通常用于存储单个字符 String -- VARCHAR通常用于存储字符串 ​ 不同的数据库系统可能有不同的数据类型名称因此在特定的数据库中可能会略有差异。此外ORM框架也允许进行自定义配置以适应不同的数据库需求。 此外还有一些其他特殊类型例如日期和时间类型也可以在ORM中进行映射比如 java.util.Date 或 java.time.LocalDate -- DATEjava.util.Time 或 java.time.LocalTime -- TIMEjava.util.Date 或 java.time.LocalDateTime -- DATETIME 或 TIMESTAMP ​ 上面这些就是我们学习Java常见的8种基本数据类型在数据库中的通用映射规则。但具体的映射规则可能会因不同的ORM框架或数据库而有所区别因此在实际开发中还是得根据实际情况和需求进行相应的配置和调整。 ​ 了解完MyBatis的基本概念之后我们就该到了如何使用MyBatis想要使用首先就得引入简单来说就是搭建MyBatis的开发环境。 三、如何搭建MyBatis的开发环境? 搭建环境的步骤如下 创建工程后引入相关依赖。本地lib导入jar包或者Pom.xml写入依赖信息Maven方式导入 数据库准备(就是指创建好准备链接的数据库) 。 比如MySQL Oracle PostgreSQL 编写数据库连接信息配置文件(db.properties 、database.properties、dbconfig.properties 、jdbc.properties都是指同一个文件也就是数据库连接信息配置文件) 编写核心配置文件和映射文件。 ​ 一般来说都不会自己去写只有少部分会需要我们去写。大部分的都是可以去网上下载模板然后自己修改一下基本信息就可以用了。 引入依赖(Maven方式引入需要联网)➡编写配置文件(数据库连接信息配置文件、MyBatis核心配置文件)➡ 这里简单讲解一下吧方便理解。 ①引入相关依赖的代码 !--Pom文件编写依赖引入 只展示了其中一个依赖-- dependencies!-- MySQL Connector Java 引入java链接MySQL的依赖 --dependencygroupIdmysql/groupId !-- 依赖名 --artifactIdmysql-connector-java/artifactId !-- 组件名 ID --version8.0.11/version !-- 版本号 --/dependency!-- 其他依赖项 --...--尝试模仿并写出其他项依赖引入写不出也可以去我资源找对应的文件下载都是敲好的-- /dependencies③db.properties文件 //db.properties文件# MySQL数据库驱动程序类名 mysql.drivercom.mysql.cj.jdbc.Driver# MySQL数据库连接URL指定主机、端口、数据库名称和其他参数 mysql.urljdbc:mysql://localhost:3306/mybatis?serverTimezoneUTCcharacterEncodingutf8useUnicodetrueuseSSLfalse# MySQL数据库用户名 mysql.usernameroot# MySQL数据库密码 mysql.passwordroot④mybatis-config.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- 加载 db.properties 文件 --properties resourcedb.properties/environments defaultdevelopment!-- 设置开发环境 --environment iddevelopment!-- 使用 JDBC 事务管理器 --transactionManager typeJDBC/!-- 使用 POOLED 数据源 --dataSource typePOOLED!-- 指定数据库驱动程序 --property namedriver value${mysql.driver} /!-- 指定数据库连接 URL --property nameurl value${mysql.url} /!-- 指定数据库用户名 --property nameusername value${mysql.username} /!-- 指定数据库密码 --property namepassword value${mysql.password} //dataSource/environment/environments /configuration ​ 使用POOLED数据源的意思是它表示使用连接池数据源“POOLED” 是Maven配置文件中 dataSource 配置项的一个属性值 ​ 连接池是一组预先创建并管理的数据库连接。当应用程序需要与数据库进行交互时它可以从连接池中获取一个可用的数据库连接执行操作完成后再将连接放回连接池而不是每次都创建和关闭连接。这种方式可以提高性能和效率避免了频繁创建和销毁数据库连接的开销。 ​ 具体到这个配置文件中dataSource typePOOLED 指定了使用 POOLED 数据源类型。通过这个配置Maven将会根据数据库连接信息和连接池配置参数创建一个连接池数据源供应用程序使用。这样在应用程序需要进行数据库操作时它可以从这个连接池中获取连接而不是每次都重新创建新的连接从而提高性能和效率。 ​ 到这里环境就已经搭建好了。 四、编写MyBatis入门程序 ​ ①:数据库准备➡②:pojo类编写➡③:mapper文件(sql语句)编写➡④:mybatis-config文件中添加mapper文件resources的地址➡⑤:编写测试类。 ​ 首先要准备好一个要链接的数据库编写好数据设计语句设计表的同时呢插入俩条语句进去这样方便我们后续测试。记得若是链接的数据库有改变那么我们前面的数据库链接信息配置文件也需要修改就是db.properties。 ​ 首先我们要新建实体类上面也有提到的pojo包普通JAVA对象这里的话就要与数据库的表字段一一对应这样才能映射过去。一般来说一个表对应一个类也就是一个对象。 ​ 如下图我们采用的PasswordMS表中的结构如下 那么我们的pojo包下的成员变量应该是这样子定义的 ​ 字段名和变量名一一对应。不要忘了生成Getter和Setter方法因为我们的访问修饰符是private私有的那么如果不开放公共的方法来设置或获取变量的值这样的话会导致只有在类的内部能够访问到所以不能忘记嗷这也是面向对象的设计原则之一也是封装的基本特征合理开放合理暴露。 ​ 编写一下Mapper.xml里面编写sql语句动态sql语句这里我们要针对一下数据库表的关系然后去对java对象进行一个映射关系有一对一、一对多等。越复杂的sql编写需要注意的点就越多。 ​ 编写mapper需要在标签对里面 编写mapping文件路径配置在mybatis-config.xml中下。这样mybatis才能够识别我们的mapper文件才能够使用映射语句不会导致出错。 因为我们前面引入了Junit测试依赖那么就简单编写一下测试类吧看看我们编写的Mapper接口能不能正常映射到数据库。 //PasswordMSTest.java import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.apache.log4j.Logger; import pojo.PasswordMS;import java.io.IOException; import java.io.Reader; import java.util.List;class PasswordMSTest {private Logger logger Logger.getLogger(PasswordMSTest.class);org.junit.jupiter.api.Testvoid getUid() {//读取文件名String resourcesmybatis-config.xml;//创建流Reader reader null;try{reader Resources.getResourceAsReader(resources);}catch (IOException e){e.printStackTrace();}//初始化mybatis数据库创建SqlSessionFactory类的实例SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(reader);//创建SqlSession实例SqlSession session sqlSessionFactory.openSession();//传入参数查询返回结果PasswordMS passwordMS session.selectOne(findById,1);logger.info(姓名passwordMS.getAccount(),密码passwordMS.getPassword()网站:passwordMS.getWebsiteName());//关闭sessionsession.close();}org.junit.jupiter.api.Testvoid getAllItem() {//读取文件名String resourcesmybatis-config.xml;//创建流Reader reader null;try{reader Resources.getResourceAsReader(resources);}catch (IOException e){e.printStackTrace();}//初始化mybatis数据库创建SqlSessionFactory类的实例SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(reader);//创建SqlSession实例SqlSession session sqlSessionFactory.openSession();//传入参数查询返回结果ListPasswordMS passwordMS session.selectList(findAll);for(PasswordMS s:passwordMS){logger.info(id:s.getId(),账号:s.getAccount(),密码s.getPassword(),网站名:s.getWebsiteName(),网站网址:s.getWebsiteURL(),网站缩略图:s.getWebsiteImage(),账号描述:s.getAccountDescription());//关闭session// }session.close();} } }这里的代码逻辑用讲么如果是有学过java基础和java高级编程的应该代码逻辑都是能看懂得。 这里可以推荐看看我发的学习记录基本上有看完都是可以理解的。 输出结果如下图 与数据库中写入的完全一致若是出现NUll值可能就是pojo类编写不正确没有字段名和变量名一直其次可能是映射类型不对等认真往上翻看看嗷。 PS关于findAll的sql映射语句需要自己在PasswordMSMapper.xml中编写完成嗷 Mybatis的工作原理 * ​ MyBatis框架在操作数据库时大体经过了8个步骤。下面结合MyBatis工作原理图对每一步流程进行详细讲解具体如下。 1MyBatis读取核心配置文件mybatis-config.xmlmybatis-config.xml核心配置文件主要配置了MyBatis的运行环境等信息。 2加载映射文件Mapper.xmlMapper.xml文件即SQL映射文件该文件配置了操作数据库的SQL语句需要在mybatis-config.xml中加载才能执行。 3构造会话工厂通过MyBatis的环境等配置信息构建会话工厂SqlSessionFactory用于创建SqlSession。 4创建会话对象由会话工厂SqlSessionFactory创建SqlSession对象该对象中包含了执行SQL语句的所有方法。 5创建执行器会话对象本身不能直接操作数据库MyBatis底层定义了一个Executor接口用于操作数据库执行器会根据SqlSession传递的参数动态的生成需要执行的SQL语句同时负责查询缓存地维护。 6封装SQL信息SqlSession内部通过执行器Executor操作数据库执行器将待处理的SQL信息封装到MappedStatement对象中。 7操作数据库根据动态生成的SQL操作数据库。 8输出结果映射执行SQL语句之后通过MappedStatement对象将输出结果映射至Java对象中。 总结 ​ 这是第一天对SSM框架的学习先初识Mybatis了解什么是半自动化持久层框架、映射、pojo、连接池连接数据源等。想要跟着学习的可以去我的资源里面找对应的文件下载我的md文件也会发上去项目文件会上传可以自己跟着学习一下。上面的只是简单的俩个查询的例子可以自己完善一下增删改查的实例。 作者Stevedash 发表于2023年8月20日 21点45分 注本文内容基于个人学习理解如有错误或疏漏欢迎指正。感谢阅读如果觉得有帮助请点赞和分享。
http://www.tj-hxxt.cn/news/230364.html

相关文章:

  • 企业网站关于我们公司展示网站费用
  • iis7 asp网站 503视频营销的策略与方法
  • 小学网站建设情况汇报西安 做网站
  • 深圳做微藻的公司网站网站 内容 营销
  • 有网站做点什么好.net 网站模板下载地址
  • 公司建一个网站要多少钱网络架构规划
  • 网站开发的分工seo网络优化招聘信息
  • 给前端做网站的图片叫什么软件调查问卷 wordpress
  • 实业公司网站建设使用的电脑做网站的服务器
  • 常州好的网站设计公司凡科互动平台
  • 淘宝网站的建设企业网站建设费用摊销
  • 苏州知名网站建设推广策略英语
  • 单页网站赚钱友情链接的形式有哪些
  • 做网站 当站长北京网站设计建设
  • 兰州建设网站的公司优质网站建设服务
  • 南京建设机械网站衡水注册公司流程和费用
  • 计算机程序设计网站开发有哪些做搞笑视频的网站
  • 搜索关键字搜索到网站杭州seo博客
  • linode wordpress建站官方进一步优化
  • 网站建设策划文案广州网站下载安装
  • 网站建设补贴网站建设中 html5
  • 大连网站建设价格低wordpress返回顶部图标
  • 网站活动页面做业务网站
  • 建设个网站需要什么wordpress lnmp1.4
  • 和网站建设签合同小程序运营推广公司
  • 网站品牌推广设计专门做民宿的网站
  • 凡科建站app只有一个页面的网站
  • 安防监控网站模板常州网站建设价位
  • 零基础学习做网站多商户商城源码下载
  • 网站logo模板go语言 网站开发