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

长春在线制作网站高大上网站欣赏

长春在线制作网站,高大上网站欣赏,摹客 2023年设计师必备设计工具,网站做单链 好不好简介 MyBatis是一款优秀的持久层框架#xff0c;它支持普通SQL查询#xff0c;存储过程和高级映射。MyBatis通过简单的XML或注解用于配置和原始映射#xff0c;将接口和Java的POJOs#xff08;Plain Ordinary Java Object#xff0c;普通的Java对象#xff09;映射成数据…简介 MyBatis是一款优秀的持久层框架它支持普通SQL查询存储过程和高级映射。MyBatis通过简单的XML或注解用于配置和原始映射将接口和Java的POJOsPlain Ordinary Java Object普通的Java对象映射成数据库中的记录。MyBatis可以自动注册驱动、建立连接、获取SQL执行对象、释放连接等操作开发人员只需要关注SQL语句的编写即可无需过多关注数据库连接问题。 MyBatis的优势在于它通过参数映射方式将参数灵活地配置在SQL语句中的配置文件中避免了在Java类中配置参数。此外MyBatis通过输出映射机制将结果集的检索自动映射成相应的Java对象避免了手工检索结果集。MyBatis还支持动态SQL可以通过条件判断进行查询实现SQL复用。 主要特点 MyBatis的主要特点包括 简单易用MyBatis的API非常简单易于学习和上手。灵活性强MyBatis允许开发人员自定义SQL语句满足各种复杂的查询和数据操作需求。映射关系自由MyBatis不强制要求实体类和数据库表之间的映射关系开发人员可以灵活选择使用注解或XML配置文件来管理映射关系。与Spring等框架整合方便MyBatis提供了与Spring、Spring Boot等框架整合的支持可以轻松地将MyBatis与这些框架无缝集成。易于扩展MyBatis插件机制可以让开发者增加自定义的功能扩展性非常强。轻量级MyBatis自身不依赖其他任何JAR但需要提供JDBC实现。学习成本低相比ORM框架而言掌握MyBatis的使用是很轻松的。SQL代码从程序代码中彻底分离出来可重用提供XML标签支持编写动态SQL提供映射标签支持对象与数据库的ORM字段关系映射。 然而MyBatis也有一些缺点如SQL语句编写工作量大熟练度要高数据库移植性差比如从MySQL移植到OracleSQL语句会有差异从而引起错误。 应用场景 MyBatis主要适用于以下应用场景 对性能要求高的场景例如互联网项目MyBatis可以提供灵活的SQL映射和优化满足高性能的需求。需求变化较多的项目MyBatis允许开发人员自定义SQL语句可以根据需求灵活修改和优化SQL语句适用于需求变化较多的项目。数据库操作复杂的场景MyBatis支持自定义SQL、存储过程以及高级映射可以处理复杂的数据库操作和数据映射。需要减少JDBC代码量的场景MyBatis可以自动注册驱动、建立连接、获取SQL执行对象、释放连接等操作减少了大量的JDBC代码简化了数据库操作。 总的来说MyBatis适用于各种基于Java的持久层应用特别是需要高效、灵活地进行数据库操作的应用场景。 Mybatis的原理 MyBatis的工作原理主要包括以下几个步骤 读取MyBatis配置文件MyBatis的配置文件为mybatis-config.xml其中包含了MyBatis的全局配置信息如数据库连接信息等。加载映射文件mybatis-config.xml配置文件中可以加载多个映射文件每个映射文件对应数据库中的一张表。构造会话工厂通过MyBatis的环境等配置信息可以构建一个会话工厂SqlSessionFactory。创建会话对象由会话工厂创建SqlSession对象该对象中包含了执行SQL语句的所有方法。Executor执行器MyBatis底层定义了一个Executor接口来操作数据库它将根据SqlSession传递的参数动态地生成需要执行的SQL语句同时负责查询缓存的维护。 在输入参数映射过程中MyBatis将参数映射到SQL语句中类似于JDBC对preparedStatement对象设置参数的过程。在输出结果映射过程中MyBatis将查询结果映射到Java对象类似于JDBC对结果集的解析过程。 SpringBoot集成Mybatis 将MyBatis与Spring Boot集成是一种常见的做法它可以让你的应用程序更加易于管理、可维护性和高效。以下是集成MyBatis与Spring Boot的步骤 添加依赖在Spring Boot项目的pom.xml文件中添加MyBatis和MyBatis-Spring的依赖。 dependenciesdependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.0/version/dependency /dependencies配置数据源在Spring Boot的application.properties或application.yml文件中配置数据库连接信息。 spring.datasource.urljdbc:mysql://localhost:3306/mydb spring.datasource.usernameroot spring.datasource.passwordrootpassword spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver创建实体类根据数据库表结构创建对应的Java实体类。创建Mapper接口为每个实体类创建一个Mapper接口并使用Mapper注解进行标注。创建Mapper XML文件在resources/mapper目录下为每个Mapper接口创建一个对应的XML文件并在其中编写对应的SQL语句。创建Service类创建一个Service类注入Mapper接口并实现业务逻辑。创建Controller类创建一个Controller类处理前端请求调用Service类的方法并返回结果。配置MyBatis扫描路径在application配置类上添加MapperScan注解指定MyBatis的扫描路径。 SpringBootApplication MapperScan(com.example.demo.mapper) public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }通过以上步骤你就可以将MyBatis与Spring Boot成功集成。在实际开发中你可以根据需要进一步优化和扩展集成方案例如使用注解配置SQL语句、使用MyBatis Plus简化开发等。 Mybatis的架构设计 MyBatis的架构设计主要包括以下几个层次 接口层这是MyBatis与数据库交互的方式。可以使用传统的MyBatis提供的API通过创建SqlSession对象实现。此外还可以使用Mapper接口其中声明的方法和跟节点中的select|update|delete|insert节点项对应。核心处理层这一层主要负责处理MyBatis的核心逻辑包括配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件等。基础支持层这一层为MyBatis提供了基础支持包括数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换、日志模块、资源加载和解析器模块等。 此外MyBatis的插件机制允许开发者通过继承Interceptor接口自定义拦截器对SQL语句执行过程中的某一点进行拦截。MyBatis还采用了责任链模式使得插件的开发和使用更加灵活。 MyBatis的架构设计使其易于使用和扩展同时还能提供高效的数据库操作。 Mybatis的核心处理层 MyBatis的核心处理层是负责处理接口层传进来的指令并将这些指令转换成SQL语句然后执行相关SQL并对结果集进行封装映射。这一层的主要任务包括SQL执行与结果集映射由Executor负责维护缓存和事务管理并将数据库操作委托给StatementHandler。 核心处理层的两个关键类是Configuration和Executor。Configuration持有了Mybatis运行期间所有的数据包括SQL模板结果集映射数据等。Executor负责维护缓存和事务管理并将数据库操作委托给StatementHandler。 核心处理层的StatementHandler接口是MyBatis的核心接口之一它完成了MyBatis中最核心的工作也就是如何去与使用原生JDBC数据库进行交互。StatementHandler的功能包括创建对应的Statement对象为SQL绑定实参执行各种SQL语句批量执行SQL语句将结果集映射到结果对象等。 核心处理层还包括一些其他组件如ParameterHandler负责完成SQL语句的实参绑定ResultSetHandler负责处理结果集的映射等。这些组件协同工作共同完成了MyBatis的核心处理任务。 MyBatis的核心处理层包括以下几个关键类 SqlSessionFactoryBuilder每个MyBatis应用程序的入口。通过XML配置文件创建Configuration对象然后通过build方法创建SqlSessionFactory对象。SqlSessionFactory用于创建SqlSession的工厂。SqlSession是MyBatis工作的主要顶层API表示和数据库交互的会话完成必要数据库增删改查功能。SqlSession执行增删改查操作管理事务。ExecutorMyBatis执行器是MyBatis调度的核心负责SQL语句的生成和查询缓存的维护。StatementHandler封装了JDBC Statement操作负责对JDBC Statement的操作如设置参数、将Statement结果集转换成List集合。ResultSetHandler处理查询结果。 Mybatis的常用插件 MyBatis提供了多种常用的插件以扩展其功能和性能。以下是一些常用的MyBatis插件 全局通用操作插件支持全局通用方法注入如Write once, use anywhere方便开发者在多个地方复用相同的代码。分页插件基于Mybatis物理分页开发者无需关心具体操作配置好插件之后写分页等同于写基本List查询。性能分析插件可输出Sql语句以及其执行时间建议开发测试时启用该功能能有效解决慢查询问题。全局拦截插件提供全表 delete 、 update 操作智能分析阻断预防误操作。代码生成插件mybatis-generator可以针对数据库表自动生成MyBatis执行所需要的代码如Mapper.java、Mapper.xml、POJO。 这些插件可以帮助开发者提高开发效率、优化数据库查询性能、增强代码安全性等。在实际开发中可以根据需要选择合适的插件以提升MyBatis的应用效果。 Mybatis插件原理 MyBatis的插件原理是基于JDK的动态代理和责任链模式实现的。 MyBatis允许使用插件来拦截四个核心对象Executor、StatementHandler、ParameterHandler和ResultSetHandler。这四个对象在MyBatis的底层源码中被创建时都会调用interceptor.plugin方法这就是插件的切入点。 MyBatis的插件机制采用了JDK的动态代理当这些对象被创建时MyBatis会为他们生成代理对象。这些代理对象会增强原始对象的方法实现在方法执行前后进行拦截的功能。这种机制类似于AOP切面编程可以在不修改原始代码的情况下对方法的执行进行增强。 当代理对象的方法被调用时会先执行插件的拦截逻辑然后再执行原始对象的方法。插件的拦截逻辑可以根据需要进行定制比如添加日志、性能监控、事务管理等。 总的来说MyBatis的插件机制提供了一种灵活的方式来扩展和定制MyBatis的功能使得开发者可以更加方便地使用MyBatis进行数据库操作。
http://www.w-s-a.com/news/340706/

相关文章:

  • 查看网站服务器信息网站首页地址 网站域名
  • 网站网站制作网站的ui界面设计案例分析
  • 怎么查网站是否备案成都装修公司联系电话
  • 佛山免费发布信息的网站oa办公系统排行榜
  • 南湖区建设街道办事处网站汕头建设银行各支行电话
  • 复古风格网站网站套餐方案
  • 界面设计做的好的网站旅游商城网站模板
  • 大型电子商务网站 服务器硬件 cpu 内存 硬盘 2014美食网站开发意义
  • 建立网站的目的和意义网站建设寻求
  • 邢台手机网站建设设计师培训心得
  • 营销网站怎么做丽水微信网站建设哪家好
  • 南昌定制网站开发多少钱东阿县城市建设局网站
  • 浙江网站建设公司南昌seo招聘
  • 工业软件有哪些专业seo站长工具全面查询网站
  • 山东兴华建设集团有限公司网站和京东一样做电子产品的网站
  • 网站建设谢辞关于h5的网站模板
  • 网站改版提交WordPress360收录
  • 省级网站 开发建设 资质在国外怎么做网站
  • 中商华兴建设有限公司网站我的世界查找建筑网站
  • 广东网站设计公司百度推广免费送网站
  • 高密做网站哪家好网站建设预算
  • 免费wordpress网站模板重庆如何做聚政网站
  • 人才网站app建设建议系统开发生命周期法的优点表现
  • 门户网站想要微信登录怎么做湖南网站seo推广
  • 襄阳 网站建设管理系统网站
  • 重庆工程建设招标投标交易信息网广州外贸seo优化
  • 一个一起做网站东莞设计兼职网站建设
  • 杭州网站程序开发公司在哪个公司建设网站好
  • 网店的网站设计方案济南手机建站价格
  • 网站做了301重定向域名会自动跳转吗唐山地方志网站建设