当前位置: 首页 > 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/43918.html

相关文章:

  • 网站的设计与开发的图片企业邮箱注册哪家好
  • 网站域名使用方法扬州、常州、扬州、泰州
  • 增城营销型网站建设百度关键词查询网站
  • 国家城乡建设部投诉网站软装设计网站排名
  • 网站建设一般的长宽办公室装修报价表
  • 什么好的设计网站网站描文本链接怎么做
  • 网站 高清 标清如何做布吉网站建设技术托管
  • 优质做网站价格中国做健身补剂的网站
  • 叫人做网站多少钱WordPress邮箱内容修改
  • 电子商务网站模板 html企业服务局
  • 推荐网站建设案例北京广告公司名录
  • 搭建一个网站平台需要多少钱砀山做网站的公司
  • WordPress可以做大网站吗正规的网站制作哪个好
  • 女装网站建设文献综述wordpress底部导航插件
  • 网站开发怎样实现上传视频教程个人视频网站应该怎么做
  • 做网站的用户需求分析物业管理系统功能
  • 企业官网建站万网的网站代码怎么看
  • 建设自己的淘宝优惠券网站seo优化排名软件
  • 梵美传媒网站是谁做的上传网站程序是什么
  • 甘肃做网站找谁深圳凌 网站开发
  • 帝国cms做网站流程用软件做模板下载网站
  • 教育网站设计欣赏手机怎么制作网址链接
  • 广告公司可以做网站吗浙江网站备案查询
  • 地方门户网站系统建设方案建筑设计说明
  • 网站建设定制设计没有装wordpress
  • 网站建设适合什么单位网站设计公司大概多少钱
  • 如何自己开发一个自己的网站网络营销实验报告
  • 网站设计师网站wordpress双首页
  • 网站上线步骤 icp备案河南工程
  • qq是哪个工作室开发的网站seo优化外包顾问