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

合肥市人民政府领导成员网站优化设计的基础是网站基本要素及每个细节的优化

合肥市人民政府领导成员,网站优化设计的基础是网站基本要素及每个细节的优化,如皋做公司网站,建设网络平台的核心竞争力二、【MyBatis】 MyBatis入门与简单使用 二、【MyBatis】 MyBatis入门与简单使用一、什么是ORM二、为什么mybatis是半自动的ORM框架2.1 Hibernate优点2.2 Hibernate缺点2.3 MyBatis与Hibernate区别三、Mybatis快速入门3.1 项目引入Maven相关依赖3.2 创建测试数据库3.3 编写数据…二、【MyBatis】 MyBatis入门与简单使用 二、【MyBatis】 MyBatis入门与简单使用一、什么是ORM二、为什么mybatis是半自动的ORM框架2.1 Hibernate优点2.2 Hibernate缺点2.3 MyBatis与Hibernate区别三、Mybatis快速入门3.1 项目引入Maven相关依赖3.2 创建测试数据库3.3 编写数据源配置文件3.4 根据数据表生成对应POJO类3.5 编写核心配置文件3.6 测试数据库连通性3.7 编写数据表对应接口3.8 编写映射配置文件3.9 核心配置文件加载映射配置文件3.10 完整核心配置文件3.11 完整测试四、总结 一、什么是ORM Object Relation Mapping 对象关系映射。对象指的是JAVA对象关系指的是数据库中的关系模型对象关系映射指的就是在JAVA对象和数据库的关系模型之间建立一种对象个关系比如用一个Java的User类去对应数据库中的一张表goyeer_user类类中的属性和表中的列一一对应。User类就对应goyeer_userk类中的一行数据。 二、为什么mybatis是半自动的ORM框架 用Mybatis进行开发需要手动编写SQL语句。而全自动的ORM框架如Hibernate,则不需要编写SQL语句。用Hibernate开发只需要定义好ORM映射关系就可以直接进行CRUD操作。 2.1 Hibernate优点 开发者不需要熟练地操作SQL语句的编写。Hibernate会根据指定的存储逻辑自动的生成对应的SQL并调用JDBC接口执行所以其开发效率高于Mybatis。 2.2 Hibernate缺点 在多表关联时对SQL查询的支持较差 更新数据时需要发送所有字段 不支持存储过程 不能通过优化SQL来优化性能等 这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。 2.3 MyBatis与Hibernate区别 Mybatis 和 hibernate 不同它不完全是一个 ORM 框架因为 MyBatis 需要程序员自己 编写 Sql 语句不过 mybatis 可以通过 XML 或注解方式灵活配置要运行的 sql 语句并将 java 对象和 sql 语句映射生成最终执行的 sql最后将 sql 执行的结果再映射生成 java 对 象。 Mybatis 学习门槛低简单易学程序员直接编写原生态 sql可严格控制 sql 执行性 能灵活度高非常适合对关系数据模型要求不高的软件开发例如互联网软件、企业运 营类软件等因为这类软件需求变化频繁一但需求变化要求成果输出迅速。但是灵活的 前提是 mybatis 无法做到数据库无关性如果需要实现支持多种数据库的软件则需要自定 义多套 sql 映射文件工作量大。、 Hibernate 对象/关系映射能力强数据库无关性好对于关系模型要求高的软件例如 需求固定的定制化软件如果用 hibernate 开发可以节省很多代码提高效率。但是 Hibernate 的缺点是学习门槛高要精通门槛更高而且怎么设计 O/R 映射在性能和对象 模型之间如何权衡以及怎样用好 Hibernate 需要具有很强的经验和能力才行。 总之按照用户的需求在有限的资源环境下只要能做出维护性、扩展性良好的软件架构都 是好架构所以框架只有适合才是最好。 三、Mybatis快速入门 3.1 项目引入Maven相关依赖 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/version /dependency dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.13/version /dependency dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.13.2/version /dependency 3.2 创建测试数据库 DROP TABLE IF EXISTS school; CREATE TABLE school (Id int(11) NOT NULL AUTO_INCREMENT,schoolid varchar(255) DEFAULT NULL,schoolcode varchar(255) DEFAULT NULL,schoolname varchar(255) DEFAULT NULL,province varchar(255) DEFAULT NULL,PRIMARY KEY (Id) ) ENGINEMyISAM AUTO_INCREMENT2786 DEFAULT CHARSETutf8mb4; 3.3 编写数据源配置文件 编写 src/main/resources/jdbc.properties数据库连接文件 # 数据库驱动 jdbc.drivercom.mysql.cj.jdbc.Driver #jdbc:mysql://IP地址:接口地址/数据库 jdbc.urljdbc:mysql://localhost:3306/school_db #登录名 jdbc.usernameroot #密码 jdbc.password123456 3.4 根据数据表生成对应POJO类 package org.goyeer.domain; Data public class School {public int id;public String schoolId;public String schoolCode;public String schoolName;public String province; } 3.5 编写核心配置文件 src/main/resources/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!--这些属性可以在外部进行配置并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性也可以在 properties 元素的子元素中设置--properties resourcejdbc.properties/!--MyBatis 可以配置成适应多种环境这种机制有助于将 SQL 映射应用于多种数据库之中 现实情况下有多种理由需要这么做。例如开发、测试和生产环境需要有不同的配置或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使用场景。--!--默认使用的环境 ID比如defaultdevelopment。--environments defaultdevelopment!--每个 environment 元素定义的环境 ID比如iddevelopment。--environment iddevelopment!--事务管理器的配置比如typeJDBC。--!--事务管理器transactionManager在 MyBatis 中有两种类型的事务管理器也就是 type[JDBC|MANAGED]JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施它依赖从数据源获得的连接来管理事务作用域。MANAGED – 这个配置几乎没做什么。它从不提交或回滚一个连接而是让容器来管理事务的整个生命周期比如 JEE 应用服务器的上下文。默认情况下它会关闭连接。然而一些容器并不希望连接被关闭因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为。如果你正在使用 Spring MyBatis则没有必要配置事务管理器因为 Spring 模块会使用自带的管理器来覆盖前面的配置。这两种事务管理器类型都不需要设置任何属性。它们其实是类型别名换句话说你可以用 TransactionFactory 接口实现类的全限定名或类型别名代替它们。--transactionManager typeJDBC/!--数据源的配置比如typePOOLED--dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments /configuration 3.6 测试数据库连通性 Test public void testConetion() throws IOException {// 核心配置文件classpath路径String resource mybatis-config.xml;// 加载配置文件Reader reader Resources.getResourceAsReader(resource);// 构建会话工厂SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(reader);// 从SqlSessionFactory对象中获取SqlSessionSqlSession sqlSession sqlSessionFactory.openSession();System.out.println(sqlSession.getConnection());// 归还连接给数据源sqlSession.close(); } 3.7 编写数据表对应接口 com.goyeer.repository.mapper; package com.goyeer.repository.mapper; import com.goyeer.domain.School; import java.util.List; public interface SchoolMapper {ListSchool findAll();School selectOne(int id); } 3.8 编写映射配置文件 src/main/resources/mapper/SchoolMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespace com.goyeer.repository.mapper.SchoolMapperselect idfindAll resultTypeorg.goyeer.domain.Schoolselect * from school/selectselect idselectOne resultTypeorg.goyeer.domain.Schoolselect * from school where id #{id}/select /mapper 3.9 核心配置文件加载映射配置文件 mappersmapper resourcemapper/SchoolMapper.xml/mapper /mappers 3.10 完整核心配置文件 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationproperties resourcejdbc.properties/environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environmentsmappersmapper resourcemapper/EduSchoolMapper.xml/mapper/mappers /configuration 3.11 完整测试 Test public void tstFindAll() throws Exception {String conf_path mybatis-config.xml;InputStream resourceStream Resources.getResourceAsStream(conf_path);SqlSessionFactory sessionFactory new SqlSessionFactoryBuilder().build(resourceStream);SqlSession session sessionFactory.openSession();SchoolMapper mapper session.getMapper(SchoolMapper.class);ListSchool schools mapper.findAll(); } 四、总结 我们可以使用Mybatis的注解开发一些简单映射语句这样可以是代码显得更加简介。对于稍微复杂一点的语句Java 注解不仅力不从心还会让你本就复杂的 SQL 语句更加混乱不堪。 因此如果你需要做一些很复杂的操作最好用 XML 来映射语句。
http://www.dnsts.com.cn/news/3231.html

相关文章:

  • 做网站原则西安seo和网络推广
  • 深圳市建设工程交易服务网站seo专员很难吗
  • win7优化工具惠州seo网站排名
  • 网站备案 条例百度网首页官网
  • 广州招聘网站制作2024年阳性最新症状
  • 国外购物网站平台有哪些手机怎么创建自己的网站平台
  • 网站建设 银川推广引流话术
  • 企业家居网站建设软文推广文章范文
  • 邢台网上办事大厅seo零基础视频教程
  • 推荐个做兼职的网站一个新产品策划方案
  • 网站设计用什么软件做的电脑培训班零基础
  • 酷炫网站推荐专门搜索知乎内容的搜索引擎
  • 在线做名片做海报网站珠海网站建设优化
  • 网站 域名 授权服务器 分布式网络策划与营销
  • 做网站用eclipse吗肇庆网站推广排名
  • 网页设计构思网站seo系统
  • 湖南平台网站建设哪家好金戈枸橼酸西地那非
  • 济南骏驰网站开发网站排行查询
  • 甘肃网站建设制作商360网址大全
  • 易企秀网站开发语言bt磁力兔子引擎
  • 为网站开发app企业邮箱如何申请注册
  • 做网站设计怎么样个人博客网站搭建
  • nodejs 做视频网站如何在各大平台推广
  • 教育培训机构十大排名济南网站seo优化
  • 广州 网站开发 骏域百度高级搜索页面
  • 外贸销售网站有哪些优化排名
  • 企业运营仿真平台潮州seo建站
  • 工业网页设计欣赏seo网站优化培训
  • 网站导航栏设计要求百度云网盘免费资源
  • 网站tag 怎么实现营销网站建设推广