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

有创意的个人网站名字如何制作网址最简单的方法

有创意的个人网站名字,如何制作网址最简单的方法,北京seo专业团队,网站做外链怎么样目录 MyBatis是什么#xff1f;Mybaits的优缺点#xff1f;为什么说Mybatis是半自动ORM映射工具#xff1f;它与全自动的区别在哪里#xff1f;Hibernate 和 MyBatis 的区别#xff1f;JDBC编程有哪些不足之处#xff0c;MyBatis是如何解决这些问题的#xff1f;MyBatis… 目录 MyBatis是什么Mybaits的优缺点为什么说Mybatis是半自动ORM映射工具它与全自动的区别在哪里Hibernate 和 MyBatis 的区别JDBC编程有哪些不足之处MyBatis是如何解决这些问题的MyBatis编程步骤是什么样的#{}和${}的区别通常一个XML映射文件都会写一个Dao接口与之对应那么这个Dao接口的工作原理是什么Dao接口里的方法、参数不同时方法能重载吗在Mapper中如何传递多个参数Mybatis动态sql有什么用执行原理是什么有哪些动态sqlxml映射文件中不同的xml映射文件id是否可以重复Mybatis实现一对一有几种方式具体是怎么操作的Mybatis实现一对多有几种方式具体是怎么操作的Mybatis的一级、二级缓存是什么使用MyBatis的Mapper接口调用时有哪些要求 MyBatis是什么 Mybatis是一个半 ORM对象关系映射框架它内部封装了JDBC加载驱动、创建连接、创建 statement 等繁杂的过程开发者开发时只需要关注如何编写 SQL 语句可以严格控制 SQL 执行性能灵活度高。作为一个半 ORM 框架MyBatis 可以使用 XML 或注解来配置和映射原生信息将 POJO 映射成数据库中的记录避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。通过 XML 文件或注解的方式将要执行的各种 statement 配置起来并通过 Java 对象和 statement 中 SQL 的动态参数进行映射生成最终执行的 SQL 语句最后由 Mybatis 框架执行 SQL 并将结果映射为 Java对象并返回。从执行SQL到返回 result 的过程。由于MyBatis专注于SQL本身灵活度高所以比较适合对性能的要求很高或者需求变化较多的项目如互联网项目。 Mybaits的优缺点 优点 基于SQL语句编程相当灵活不会对应用程序或者数据库的现有设计造成任何影响SQL写在XML里解除sql与程序代码的耦合便于统一管理提供XML标签支持编写动态SQL语句并可重用。与 JDBC 相比减少了50%以上的代码量消除了 JDBC 大量冗余的代码不需要手动开关连接很好的与各种数据库兼容因为 MyBatis 使用 JDBC 来连接数据库所以只要 JDBC 支持的数据库 MyBatis 都支持。能够与 Spring 很好的集成提供映射标签支持对象与数据库的ORM字段关系映射提供对象关系映射标签支持对象关系组件维护。 缺点 SQL语句的编写工作量较大尤其当字段多、关联表多时对开发人员编写SQL语句的功底有一定要求。SQL语句依赖于数据库导致数据库移植性差不能随意更换数据库。 为什么说Mybatis是半自动ORM映射工具它与全自动的区别在哪里 Hibernate 属于全自动ORM映射工具使用 Hibernate 查询关联对象或者关联集合对象时可以根据对象关系模型直接获取所以它是全自动的。 Mybatis 在查询关联对象或关联集合对象时需要手动编写 SQL 来完成所以称之为半自动ORM映射工具。 Hibernate 和 MyBatis 的区别 相同点都是对 Jdbc 的封装都是持久层的框架都用于 Dao 层的开发。 不同点 映射关系 MyBatis 是一个半自动映射的框架配置 Java 对象与 SQL 语句执行结果的对应关系多表关联关系配置简单。 Hibernate 是一个全表映射的框架配置 Java 对象与数据库表的对应关系多表关联关系配置复杂。 SQL优化和移植性 Hibernate 对 SQL 语句封装提供了日志、缓存、级联级联比 MyBatis 强大等特性此外还提供 HQLHibernate Query Language操作数据库数据库无关性支持好但会多消耗性能。如果项目需要支持多种数据库代码开发量少但SQL语句优化困难。 MyBatis 需要手动编写 SQL支持动态 SQL、处理列表、动态生成表名、支持存储过程。开发工作量相对大些。直接使用SQL语句操作数据库不支持数据库无关性但 SQL 语句优化容易。 开发难易程度和学习成本 Hibernate 是重量级框架学习使用门槛高适合于需求相对稳定中小型的项目比如办公自动化系统。MyBatis 是轻量级框架学习使用门槛低适合于需求变化频繁大型的项目比如互联网电子商务系统。 总结MyBatis 是一个小巧、方便、高效、简单、直接、半自动化的持久层框架Hibernate 是一个强大、方便、高效、复杂、间接、全自动化的持久层框架。 JDBC编程有哪些不足之处MyBatis是如何解决这些问题的 1、数据库链接创建、释放频繁造成系统资源浪费从而影响系统性能如果使用数据库链接池可解决此问题。 解决在SqlMapConfig.xml中配置数据链接池使用连接池管理数据库链接。 2、SQL 语句写在代码中造成代码不易维护实际应用 SQL 变化的可能较大SQL 变动需要改变 Java代码。 解决将 SQL 语句配置在XXXXmapper.xml文件中与 Java 代码分离。 3、 向 SQL 语句传参数麻烦因为 SQL 语句的where条件不一定可能多也可能少占位符需要和参数一一对应。 解决 Mybatis自动将 Java对象映射至 SQL 语句。 4、 对结果集解析麻烦SQL 变化导致解析代码变化且解析前需要遍历如果能将数据库记录封装成 POJO 对象解析比较方便。 解决Mybatis自动将 SQL 执行结果映射至 Java 对象。 MyBatis编程步骤是什么样的 1、创建 SqlSessionFactory2、通过 SqlSessionFactory 创建SqlSession3、 通过 sqlsession 执行数据库操作4、 调用 session.commit() 提交事务5、 调用 session.close() 关闭会话 #{}和${}的区别 【MyBatis占位符】Mybatis中的#{}和${}区别 通常一个XML映射文件都会写一个Dao接口与之对应那么这个Dao接口的工作原理是什么Dao接口里的方法、参数不同时方法能重载吗 Dao 接口即 Mapper 接口。接口的全限名就是映射文件中的 namespace 的值 接口的方法名就是映射文件中 Mapper 的 Statement 的 id 值 接口方法内的参数就是传递给 SQL 的参数。 Mapper 接口是没有实现类的当调用接口方法时接口全限名方法名的拼接字符串作为 key 值可唯一定位一个MapperStatement。 Dao接口里的方法是不能重载的因为是全限名方法名的保存和寻找策略。 Dao接口的工作原理是 JDK动态代理Mybatis 运行时会使用 JDK 动态代理为 Dao 接口生成代理 proxy 对象代理对象 proxy 会拦截接口方法转而执行 MappedStatement 所代表的 SQL 然后将 SQL 执行结果返回。 在Mapper中如何传递多个参数 若Dao 层函数有多个参数那么其对应的XML中#{0}代表接收的是 Dao 层中的第一个参数#{1}代表 Dao 中的第二个参数以此类推。 使用Param注解在Dao层的参数中前加Param注解,注解内的参数名为传递到Mapper中的参数名。 多个参数封装成Map以 HashMap 的形式传递到 Mapper 中。 Mybatis动态sql有什么用执行原理是什么有哪些动态sql Mybatis动态SQL可以在XML映射文件内以标签的形式编写动态SQL执行原理是根据表达式的值完成逻辑判断并动态拼接SQL的功能。 Mybatis提供了9种动态SQL标签trim、where、set、foreach、if、choose、when、otherwise、bind 其执行原理为使用 OGNLObject Graph Navigation Language 从 SQL 参数对象中计算表达式的值根据表达式的值动态拼接sql以此来完成动态sql的功能。 xml映射文件中不同的xml映射文件id是否可以重复 不同的XML映射文件如果配置了namespace那么 id 可以重复如果没有配置 namespace那么 id 不能重复 原因是 namespaceid 是作为 MapString,MapperStatement 的 key 使用的如果没有 namespace就剩下 id那么 id 重复会导致数据互相覆盖。有了 namespace自然 id 就可以重复namespace 不同namespaceid 自然也不同。 Mybatis实现一对一有几种方式具体是怎么操作的 有联合查询和嵌套查询两种方式。 联合查询是几个表联合查询通过在 resultMap 里面配置 association 节点配置一对一的类就可以完成 嵌套查询是先查一个表根据这个表里面的结果的外键 id再去另外一个表里面查询数据也是通过association 配置但另外一个表的查询是通过 select 配置的。 Mybatis实现一对多有几种方式具体是怎么操作的 有联合查询和嵌套查询两种方式。 联合查询是几个表联合查询只查询一次通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成 嵌套查询是先查一个表根据这个表里面的结果的外键 id再去另外一个表里面查询数据也是通过collection但另外一个表的查询是通过 select 配置的。 Mybatis的一级、二级缓存是什么 1、 一级缓存基于 PerpetualCache 的 HashMap 本地缓存其存储作用域为 Session当 Session flush 或 close 之后该 Session 中的所有 Cache 就将清空默认打开一级缓存。2、 二级缓存与一级缓存机制相同默认也是采用 PerpetualCacheHashMap 存储不同在于其存储作用域为 Mappernamespace并且可自定义存储源如 Ehcache。默认不打开二级缓存要开启二级缓存使用二级缓存属性类需要实现 Serializable 序列化接口可用来保存对象的状态可在它的映射文件中配置。 对于缓存数据更新机制当某一个作用域一级缓存 Session/二级缓存 Namespace进行了增/删/改操作后默认该作用域下所有 select 中的缓存将被 clear。 使用MyBatis的Mapper接口调用时有哪些要求 1、Mapper接口方法名和 mapper.xml 中定义的每个 SQ L的 id 相同2、Mapper接口方法的输入参数类型和 mapper.xml 中定义的每个 SQL 的 parameterType 类型相同3、Mapper接口方法的输出参数类型和 mapper.xml 中定义的每个 SQL 的 resultType 的类型相同4、Mapper.xml文件中的 namespace 即是 mapper 接口的类路径。
http://www.pierceye.com/news/870634/

相关文章:

  • 书店网站开发目的和意义深圳网建公司
  • 餐饮网站方案wordpress 微论坛主题
  • 上海建筑网站设计多用户商城数据库设计
  • 网站做301将重定向到新域名深圳seo优化外包公司
  • 做视频导航网站有哪些天津西青区离哪个火车站近
  • 福州网站建设技术支持公司培训课程有哪些
  • 保定网站制作域名注册商查询
  • 医院网站建设公司价格低天津建设工程信息网 塘沽一中
  • 建设机械网站案例建国外网站需要多少钱
  • 比特币简易网站开发电商网站大全
  • 秀屿区建设局网站巨量广告投放平台
  • 合肥网站设计哪家公司好北京国贸网站建设公司
  • 帮人做网站怎么收费制作链接的app的软件有哪些
  • 商贸行业网站建设公司yoast wordpress seo
  • 上小学网站建设WordPress底部添加运行时间
  • 学校网站信息化建设工作心得网络营销现状分析
  • 藁城专业网站建设班级同学录网站建设
  • 北京手机网站开发公司wordpress用户列表
  • 上海 企业网站制成都营销型网站建设熊掌号
  • 无锡网站优化哪家好北京注册公司地址可以是住宅吗
  • 中国十大热门网站深圳哪做网站
  • 木渎网站建设聚美优品网站建设情况
  • 企业形象网站用什么语言开发网站优化要做哪些工作
  • 中国建设银行官网站电话号码wordpress关键词排名
  • 南通网站建设机构博物馆网站建设的根本意义
  • 食品企业网站建设中信建设有限责任公司陈晓佳
  • 中国网站服务器哪个好店名注册查询
  • 网站设计制作案例软件定制开发的发展前景
  • 中国联通网站备案小程序是什么原理
  • 企业网站建设御彩云dz做电影网站