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

上海专业建站公自己做网站花费

上海专业建站公,自己做网站花费,如何重新做公司网站,做福利网站违法吗第三章 MyBatis 一、MyBatis 简介 1. 简介 MyBatis 最初是 Apache 的一个开源项目 iBatis, 2010 年 6 月这个项目由 Apache Software Foundation 迁移到了 Google Code。随着开发团队转投 Google Code 旗下#xff0c; iBatis3.x 正式更名为 MyBatis。代码于 2013 年 11 月迁…第三章 MyBatis 一、MyBatis 简介 1. 简介 MyBatis 最初是 Apache 的一个开源项目 iBatis, 2010 年 6 月这个项目由 Apache Software Foundation 迁移到了 Google Code。随着开发团队转投 Google Code 旗下 iBatis3.x 正式更名为 MyBatis。代码于 2013 年 11 月迁移到 Github。 MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJOPlain Old Java Objects普通老式 Java 对象为数据库中的记录。 此处使用 3.5.11 版本 2. 持久层框架对比 JDBC SQL 夹杂在 Java 代码中耦合度高导致硬编码内伤维护不易且实际开发需求中 SQL 有变化频繁修改的情况多见代码冗长开发效率低 Hibernate 和 JPA 操作简便开发效率高程序中的长难复杂 SQL 需要绕过框架内部自动生成的 SQL不容易做特殊优化基于全映射的全自动框架大量字段的 POJO 进行部分映射时比较困难。反射操作太多导致数据库性能下降 MyBatis 轻量级性能出色SQL 和 Java 编码分开功能边界清晰。Java 代码专注业务、SQL 语句专注数据开发效率稍逊于 Hibernate但是完全能够接受 开发效率HibernateMybatisJDBC 运行效率JDBCMybatisHibernate 3. 快速入门基于 MyBatis3 方式 3.1 准备数据模型 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES(tom,200.33); INSERT INTO t_emp(emp_name,emp_salary) VALUES(jerry,666.66); INSERT INTO t_emp(emp_name,emp_salary) VALUES(andy,777.77);3.2 项目搭建和准备 3.2.1 项目搭建 3.2.2 依赖导入 pom.xml dependencies!-- mybatis依赖 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.11/version/dependency!-- MySQL驱动 mybatis底层依赖jdbc驱动实现,本次不需要导入连接池,mybatis自带! --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.25/version/dependency!--junit5测试--dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.3.1/version/dependency /dependencies3.2.3 实体类准备 public class Employee {private Integer empId;private String empName;private Double empSalary;//getter | setter }3.3 准备 Mapper 接口和 MapperXML 文件 MyBatis 框架下SQL 语句编写位置发生改变从原来的 Java 类改成XML或者注解定义推荐在 XML 文件中编写 SQL 语句让用户能更专注于 SQL 代码不用关注其他的 JDBC 代码。如果拿它跟具有相同功能的 JDBC 代码进行对比你会立即发现省掉了将近 95% 的代码一般编写 SQL 语句的文件命名XxxMapper.xml Xxx 一般取表名Mybatis 中的 Mapper 接口相当于以前的 Dao。但是区别在于Mapper 仅仅只是建接口即可我们不需要提供实现类具体的 SQL 写到对应的 Mapper 文件该用法的思路如下图所示 3.3.1 定义 mapper 接口 包com.alex.mapper package com.alex.mapper;import com.alex.pojo.Employee;/*** t_emp表对应数据库SQL语句映射接口!* 接口只规定方法,参数和返回值!* mapper.xml中编写具体SQL语句!*/ public interface EmployeeMapper {/*** 根据员工id查询员工数据方法* param empId 员工id* return 员工实体对象*/Employee selectEmployee(Integer empId);}3.3.2 定义 mapper xml 位置 resources/mappers/EmployeeMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd !-- namespace等于mapper接口类的全限定名,这样实现对应 -- mapper namespacecom.alex.mapper.EmployeeMapper!-- 查询使用 select标签id 方法名resultType 返回值类型标签内编写SQL语句--select idselectEmployee resultTypecom.alex.pojo.Employee!-- #{empId}代表动态传入的参数,并且进行赋值!后面详细讲解 --select emp_id empId,emp_name empName, emp_salary empSalary fromt_emp where emp_id #{empId}/select /mapper注意 方法名和 SQL 的 id 一致方法返回值和 resultType 一致方法的参数和 SQL 的参数一致接口的全类名和映射配置文件的名称空间一致 3.4 准备 MyBatis 配置文件 mybatis 框架配置文件 数据库连接信息性能配置mapper.xml 配置等习惯上命名为 mybatis-config.xml这个文件名仅仅只是建议并非强制要求。将来整合 Spring 之后这个配置文件可以省略所以操作时可以直接复制、粘贴。 ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- environments表示配置Mybatis的开发环境可以配置多个环境在众多具体环境中使用default属性指定实际运行时使用的环境。default属性的取值是environment标签的id属性的值。 --environments defaultdevelopment!-- environment表示配置Mybatis的一个具体的环境 --environment iddevelopment!-- Mybatis的内置的事务管理器 --transactionManager typeJDBC/!-- 配置数据源 --dataSource typePOOLED!-- 建立数据库连接的具体信息 --property namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mybatis-example/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environmentsmappers!-- Mapper注册指定Mybatis映射文件的具体位置 --!-- mapper标签配置一个具体的Mapper映射文件 --!-- resource属性指定Mapper映射文件的实际存储位置这里需要使用一个以类路径根目录为基准的相对路径 --!-- 对Maven工程的目录结构来说resources目录下的内容会直接放入类路径所以这里我们可以以resources目录为基准 --mapper resourcemappers/EmployeeMapper.xml//mappers/configuration3.5 运行和测试 /*** projectName: com.alex.test** description: 测试类*/ public class MyBatisTest {Testpublic void testSelectEmployee() throws IOException {// 1.创建SqlSessionFactory对象// ①声明Mybatis全局配置文件的路径String mybatisConfigFilePath mybatis-config.xml;// ②以输入流的形式加载Mybatis配置文件InputStream inputStream Resources.getResourceAsStream(mybatisConfigFilePath);// ③基于读取Mybatis配置文件的输入流创建SqlSessionFactory对象SqlSessionFactory sessionFactory new SqlSessionFactoryBuilder().build(inputStream);// 2.使用SqlSessionFactory对象开启一个会话SqlSession session sessionFactory.openSession();// 3.根据EmployeeMapper接口的Class对象获取Mapper接口类型的对象(动态代理技术)EmployeeMapper employeeMapper session.getMapper(EmployeeMapper.class);// 4. 调用代理类方法既可以触发对应的SQL语句Employee employee employeeMapper.selectEmployee(1);System.out.println(employee employee);// 4.关闭SqlSessionsession.commit(); //提交事务 [DQL不需要,其他需要]session.close(); //关闭会话} }说明 SqlSession代表 Java 程序和数据库之间的会话。HttpSession 是 Java 程序和浏览器之间的会话SqlSessionFactory是“生产”SqlSession 的“工厂”。工厂模式如果创建某一个对象使用的过程基本固定那么我们就可以把创建这个对象的相关代码封装到一个“工厂类”中以后都使用这个工厂类来“生产”我们需要的对象。 3.6 SqlSession 和 HttpSession 区别 HttpSession工作在 Web 服务器上属于表述层。 代表浏览器和 Web 服务器之间的会话。 SqlSession不依赖 Web 服务器属于持久化层。 代表 Java 程序和数据库之间的会话。
http://www.dnsts.com.cn/news/121281.html

相关文章:

  • 中国购物网站排行榜中华建设杂志社网站
  • xuzhou网站制作网络平台开发
  • 网站建设文件夹名字如何建设一个优秀的电商网站
  • 环保网站建设方案wordpress载入等待
  • 常德外贸网站优化推广天宁常州做网站
  • 深圳公明网站制作wordpress 文章的各种调用
  • 装修找客户去哪个网站vue开发视频网站
  • 网站制企业类网站有哪些
  • 室内外设计网站开发技术和seo的联系
  • svn教程图文详解 - 青岛网站建设人人建站网
  • 自助建站申请房山 网站建设
  • 网站建设论文设计怎么打造自己的网站
  • 乐山网站建设建立网站有哪些步骤
  • 网站美工怎么做太原网站搜索引擎优化
  • 番禺做网站价格涟源网站建设
  • 章丘营销型网站建设二维码公众号怎么制作
  • 有服务器做网站推广手段
  • 做淘宝网站目的是什么开网店的流程及程序
  • 石家庄市高新区建设局网站九台区建设银行网站
  • 2017网站开发合同下载赤峰市住房和城乡建设局官方网站
  • 驾校报名网站怎么做官方wordpress模板下载
  • 辽宁网站建设多少钱网站快速建设入门教程
  • 网站标题权重官方网站查询叉车证
  • 网站设计 知识产权中国建设银行网站解绑手机
  • 网站空间免费申请生产建设网站基坑开挖深度
  • 网站做两个版本网站系统建设的目标
  • 中国建设银行网站口dw怎么做秋季运动会网站
  • 广州网站设计开发公司十大装修公司
  • scratch编程网站网站建设技术选择
  • 上海企业建站流程如何网推