网站建设分析从哪几个方面做网站如何赚广费

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

网站建设分析从哪几个方面,做网站如何赚广费,物联网应用技术学什么,重庆建设工程证照查询网站#x1f697;MyBatis学习起始站~ #x1f6a9;本文已收录至专栏#xff1a;数据库学习之旅 #x1f44d;希望您能有所收获 一.什么是MyBatis (1) 引言 MyBatis 是一款优秀的持久层框架#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDB… MyBatis学习·起始站~ 本文已收录至专栏数据库学习之旅 希望您能有所收获 一.什么是MyBatis (1) 引言 MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJOPlain Old Java Objects普通老式 Java 对象为数据库中的记录。 上述是官网对其的定义,详细可见MyBatis中文网 什么是持久层框架又是啥对比使用JDBC又有什么优势呢接下来让我们一个个来看看吧~ (2) 持久层 在构建复杂的应用程序时三层架构是我们常用到的一种软件设计架构它将一个应用程序分为三个主要的层次表现层、业务逻辑层、数据访问(持久)层。使得应用程序可以分解为独立的、可重用的部分从而提高开发效率和代码的可维护性以及实现不同层之间的松耦合。
通常情况下持久层负责与数据存储和持久化相关的操作。它提供了一种将应用程序中的对象映射到数据存储技术如关系型数据库的机制并提供了各种数据访问接口例如CRUD创建、读取、更新和删除操作等通过使用持久层应用程序可以更方便地操作和管理数据而不必关心具体的存储细节。 (3) 框架 框架就是一个半成品软件在框架的基础之上构建软件编写更加高效、规范、通用、可扩展。 当我们写软件时通常需要实现一些通用的功能比如说处理HTTP请求、连接数据库、用户身份认证等等。这些通用的功能每次写一个新软件都要重复编写浪费时间和精力。框架就是为了解决这个问题而生的它提供了一套通用的代码基础包含了这些通用的功能开发人员可以在这个基础上进行开发不用重复写这些通用的功能提高开发效率。 通过一个框架只能完成同一项工作例如我们使用MyBatis只能完成持久层方面开发技术。
我们可以使用石膏雕像半成品软件快速绘画出一个漂亮的小女孩简化开发却不能将其绘制成一个小男孩只能完成同一项工作。 (4) 简化JDBC开发 JDBC 缺点 硬编码连接数据库以及SQL为字符串当发生变动再修改时过程十分繁琐且容易遗漏。操作繁琐设置参数以及对结果集处理过程比较繁琐。 MyBatis 简化 配置文件通过配置文件统一管理连接以及SQL代码。自动完成自动封装执行结果集。
MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。当然MyBatis并不是唯一的持久层框架还有许多的其他框架但它却是国内最受欢迎的持久层框架之一。 二.MyBatis快速入门 入门_MyBatis中文网官方网站也详细介绍了如何搭建MyBatis环境接下来让我们一起在Idea的Maven工程中通过一个简单的查询案例实践一下~ (1) 在数据库创建表 首先我们要在数据库中创建一张用于入门案例的数据表。 create database mybatis; use mybatis;drop table if exists tb_user;create table tb_user(id int primary key auto_increment,username varchar(20),password varchar(20),gender char(1),addr varchar(30) );INSERT INTO tb_user VALUES (1, zhangsan, 123, 男, 北京); INSERT INTO tb_user VALUES (2, 李四, 234, 女, 天津); INSERT INTO tb_user VALUES (3, 王五, 11, 男, 西安);(2) 创建Maven工程 为了避免手动导入jar包的麻烦我们可以创建一个Maven工程
(3) 导入依赖 按官方文档所述我们要想在Maven工程中使用MyBatis必须在pom文件中导入如下坐标 dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversionx.x.x/version /dependency注意x.x.x需要改为自己想使用的版本例如3.5.5 此外因为我们要连接MySQL数据库因此还要导入MySQL连接驱动。 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version /dependency注意8.0.28可根据需要改为自己想使用的版本 有上述这些就已经能使用了但如果你想查看运行日志信息则还需要导入如下坐标 !– 添加slf4j日志api – dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-api/artifactIdversion1.7.20/version /dependency !– 添加logback-classic依赖 – dependencygroupIdch.qos.logback/groupIdartifactIdlogback-classic/artifactIdversion1.2.3/version /dependency !– 添加logback-core依赖 – dependencygroupIdch.qos.logback/groupIdartifactIdlogback-core/artifactIdversion1.2.3/version /dependency 要使用日志功能除了导入上述三个坐标以外还需要在Resource目录下创建包含以下内容的logback.xml配置文件
?xml version1.0 encodingUTF-8? configuration!–CONSOLE 表示当前的日志信息是可以输出到控制台的。–appender nameConsole classch.qos.logback.core.ConsoleAppenderencoderpattern[%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n/pattern/encoder/appenderlogger namecom.itheima levelDEBUG additivityfalseappender-ref refConsole//logger!–level:用来设置打印级别大小写无关TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF 默认debugroot可以包含零个或多个appender-ref元素标识这个输出位置将会被本日志级别控制。–root levelDEBUGappender-ref refConsole//root /configuration(4) 编写核心配置文件 MyBatis 核心配置文件的作用之一便是解决我们上述提到的硬编码问题中的连接信息。 根据官方文档从 XML 中构建 SqlSessionFactory所给的方案我们需要在Resource目录下创建包含以下内容的mybatis-config.xml配置文件
?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configurationenvironments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLED!–数据库连接信息–property namedriver valuecom.mysql.cj.jdbc.Driver/property nameurl valuejdbc:mysql://localhost/mybatis?useSSLfalse/property nameusername valueroot/property namepassword valueroot//dataSource/environment/environmentsmappers!–加载SQL映射文件–mapper resourceorg/mybatis/example/BlogMapper.xml//mappers /configuration(5) 编写 SQL 映射文件 SQL 映射文件的作用便是帮助我们统一管理sql语句在代码中解决硬编码问题。 根据官方文档从所述我们同样需要在Resource目录下创建包含以下内容的UserMapper.xml配置文件,为了规范命名一般为表名Mapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacetestselect idselectAll resultTypeguanzhi.pojo.Userselect * from tb_user/selectinsert idxx插入语句/insertdelete idxx删除语句/deleteupdate idxx更新语句/update /mapper我们需要先写一个名为mapper的根标签然后再进行一系列CRUD操作namespace:名称空间区分不同mapper的的代码id: SQL语句的唯一标识,不能重复resultType: 返回结果类型,例如:guanzhi.pojo.User,我们需要创建一个User类
public class User {// 表字段private Integer id;private String username;private String password;private String gender;private String addr;// 为节省篇幅需自己写一下get与set方法 }如上即可简单完成SQL 映射文件 配置至此我们还需要将上述MyBatis核心配置文件中的mappers改为UserMapper.xml的类路径 mappers!–加载SQL映射文件–!–因为我们的UserMapper.xml和mybatis-config.xml在相同目录下因此只需如下配置–mapper resourceUserMapper.xml//mappers至此我们已经完成了MyBatis的基本配置接下来让我们一起来使用一下吧。 (6) 使用 根据官方文档所述我们要使用基于 MyBatis 的应用必须先加载核心配置文件获取 SqlSessionFactory 对象然后再进行一系列操作 public class MyBatisDemo {public static void main(String[] args) {try {// 1. 加载mybatis的核心配置文件获取SqlSessionFactoryString resource mybatis-config.xml;InputStream inputStream Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);// 2. 获取SqlSession对象用于执行sqlSqlSession sqlSession sqlSessionFactory.openSession();// 3. 执行UserMapper中的sql语句namespace.idListUser userList sqlSession.selectList(test.selectAll);System.out.println(userList);// 4.释放资源sqlSession.close();} catch (IOException e) {e.printStackTrace();}} }执行程序可以看到我们已经成功查询到了在数据库中的几条数据。
至此我们已经成功在idea中使用了MyBatis可能许多同学会觉得过程太繁琐了还不如不用但是我们仔细查看可以发现上述的很多配置几乎只需要进行一次配置即可后续便无需进行。 三.Eclipse中搭建(补充) 在Eclipse同样可以使用MyBatis,操作步骤几乎与上述一致只是相对没有idea那么好用而已。 例如我们创建一个动态web工程 接下来就是一些几乎一致的操作就不再赘述。