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

深圳制作网站开发费用河北省住房和城乡建设厅官方网站

深圳制作网站开发费用,河北省住房和城乡建设厅官方网站,wordpress首页文件,wordpress管理员改为投稿者MyBatis 是一个半 ORM#xff08;对象关系映射#xff09;框架#xff0c;它内部封装了 JDBC#xff0c;开发时只需要关注 SQL 语句本身#xff0c;不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 什么是 MyBatis#xff1f; MyBatis 是一个半…MyBatis 是一个半 ORM对象关系映射框架它内部封装了 JDBC开发时只需要关注 SQL 语句本身不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 什么是 MyBatis MyBatis 是一个半 ORM对象关系映射框架它内部封装了 JDBC开发时只需要关注 SQL 语句本身不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 MyBatis 与 Hibernate 有什么不同 MyBatis 和 Hibernate 都是 ORM 框架但 MyBatis 是半自动的需要手动编写 SQL 语句而 Hibernate 是全自动的可以自动生成 SQL 语句。MyBatis 更加灵活适合对 SQL 优化有较高要求的项目而 Hibernate 适合对数据库操作不熟悉或者对 SQL 优化要求不高的项目。 MyBatis的优缺点? 优点 1)易于上手和掌握 2)Sql写在xml里面便于统一管理和优化 3)减少Sql与程序代码的耦合 4)提供xml标签支持动态Sql编写 缺点 1)Sql工作量大尤其是字段多关联表多时更是如此 2)Sql依赖于数据库导致数据库移植性差 3)由于xml里面标签id必须唯一导致DAO中方法不支持方法重载。所以dao层必须是接口 mybatis的基本工作流程? 1.读取配置文件配置文件包含数据库连接信息和Mapper映射文件或者Mapper包路径。 2.有了这些信息就能创建SqlSessionFactorySqlSessionFactory的生命周期是程序级,程序运行的时候建立起来,程序结束的时候消亡 3.SqlSessionFactory建立SqlSession,目的执行sql语句SqlSession是过程级,一个方法中建立,方法结束应该关闭 4.当用户使用mapper.xml文件中配置的的方法时mybatis首先会解析sql动态标签为对应数据库sql语句的形式并将其封装进MapperStatement对象然后通过executor将sql注入数据库执行并返回结果。 5.将返回的结果通过映射包装成java对象。 总结 创建SqlSessionFactory 通过SqlSessionFactory创建SqlSession 通过SqlSession执行数据库操作 调用session.commit()提交事务 调用session.close()关闭事务 MyBatis应用中#与$有什么异同 相同点都是通过get来取值的 不同点$传过去的字符串不带引号#号带引号 1. #{}是预编译处理${}是字符串替换。 2. Mybatis在处理#{}时会将sql中的#{}替换为?号调用PreparedStatement的set方法来赋值 3. Mybatis在处理${}时就是把${}替换成变量的值相当于字符串拼接 4. 使用#{}可以有效的防止SQL注入提高系统安全性。 mybatis的缓存机制一级二级介绍一下? 1.一级缓存默认开启 SqlSession级别的缓存实现在同一个会话中数据的共享 一级缓存的生命周期和SqlSession一致 当有多个SqlSession或者分布式环境下数据库写操作会引起脏数据。 2.二级缓存默认不开启需手动开启 SqlSessionFactory级别的缓存实现不同会话中数据的共享是一个全局变量 可自定义存储源如Ehcache 当开启缓存后数据查询的执行的流程是二级缓存一级缓存数据库 不同于一级缓存二级缓存可设置是否允许刷新和刷新频率实现 JDBC编程有哪些不足之处MyBatis是如何解决这些问题的 1 数据库连接的创建、释放频繁造成系统资源浪费从而影响了性能如果使用数据库连接池就可以解决这个问题。当然JDBC同样能够使用数据源。 解决在xml中配置数据连接池使用数据库连接池管理数据库连接。 2 SQL语句在写代码中不容易维护事件需求中SQL变化的可能性很大SQL变动需要改变JAVA代码。 解决将SQL语句配置在mapper.xml文件中与java代码分离。 3 向SQL语句传递参数麻烦因为SQL语句的where条件不一定可能多也可能少占位符需要和参数一一对应。 解决Mybatis自动将java对象映射到sql语句。 4 对结果集解析麻烦sql变化导致解析代码变化且解析前需要遍历如果能将数据库记录封装成pojo对象解析比较方便。 解决Mbatis自动将SQL执行结果映射到java对象。
http://www.zqtcl.cn/news/365740/

相关文章:

  • 怎样登录建设互联网站怎么做中英文网站
  • 云网站7china中小企业网站建设好么
  • 美丽南方官网网站建设国际新闻最新消息今天摘抄
  • 牛商网营销型网站多少钱江门营销型网站建设多少钱
  • 小榄公司网站建设网站交互做的比较好的
  • 深圳定制网站建设怎么改版网站
  • 免费学软件的自学网站江阴建设局网站
  • 网站做多久苍南县网站集约化建设
  • 深圳电子烟网站建设罗湖建设公司网站建设
  • 酒店 深圳 网站建设新项目首码对接平台
  • 岳阳市住房和城乡建设局网站上海专业网站建设网
  • 营销型网站建设设定包括哪些方面网站建设后的心得
  • 建立网站来网上销售的英文潢川城乡建设局网站
  • 仿站建站教程网站怎么接广告
  • 免费下载代码项目的网站长春网站建设找新生科技
  • 博兴县建设局网站做网站要用什么服务器吗
  • 成都中小企业网站建设公司怎么挑选网站建设公司
  • 万源网站建设在ppt里面做网站链接
  • 做网站时怎么添加动态信息中铁航空港建设集团网站
  • 文化礼堂建设情况网站网站建设运行
  • 自己做网站很难asp网站开发四酷全书:新闻_论坛_电子商城_博客
  • 网站建设入什么会计科目从网络安全角度考量请写出建设一个大型电影网站规划方案
  • 品牌建设+网站网站建设 淘宝客末班
  • 建设商业网站学校建设门户网站的好处
  • 男女朋友在一起做那个的网站公司建设网站
  • 营销型网站的类型有哪些相册网站怎么做
  • 河南建设监理协会网站电话erp管理系统官网
  • 视频网站seo实战做企业网站一般用什么服务器
  • icp备案 网站负责人免费直播sdk
  • 网站制作和如何推广动画专业学什么