1.掌握框架的概念

(1)框架是什么

a)框架直白来说就是偷懒的程序员将代码进行封装,之后重复使用的过程

b)框架属于半成品

c)在使用框架时,需要告诉框架需要的信息.通常以配置文件的方式告知,一般来说,多数会使用xml作为框架的配置文件.(框架自己会解析)

d)因此,在使用框架开发代码时,需要编写配置文件,代码编写反而会减少

e)框架都是第三方提供,提供的都是jar包. 因此,使用框架前,必须将框架涉及的jar包导入项目中.

f)常见的java开发的框架

mybatis, ORM框架, 底层是对jdbc进行了封装

Spring,是一个容器

SpringMVC,分层框架

Struts2,类似于SpringMVC

Hibernate,类似于,MyBatis

为什么框架都要有配置文件?

例如在mybatis框架中有两个核心的配置文件,第一个为核心配置文件,第二个为映射配置文件。核心配置文件是用来生成操作数据库的连接对象以及事务和执行器;而映射配置文件是将数据库和实体类进行关联操作的重要文件;所以需要有配置文件

(2)mybatis简介

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。

MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。

MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

如何理解MyBatis框架

mybatis框架是对持久层(Dao层)的二次封装,底层使用JDBC技术实现,该框架是用来解决面向对象语言与关系型数据库不匹配的现象

(3)mybatis环境搭建

(3.1)创建项目

(3.2)导入jar包

1)核心jar包

mybatis-3.2.7

2)MyBatis 依赖的 jar包

asm-3.3.1.jar 字节码解析包, 被cglib依赖

cglib-2.2.2.jar 动态代理的实现

commons-logging-1.1.1.jar 日志包

javassist-3.17.1-GA.jar 字节码解析包

log4j-1.2.17.jar 日志包

log4j-api-2.0-rc1.jar 日志

log4j-core-2.0-rc1.jar 日志

slf4j-api-1.7.5.jar 日志

slf4j-log4j12-1.7.5.jar 日志

3)驱动jar

mysql-connector-java-5.1.30.jar

(3.3)编写配置文件

a)是一个xml文件,命名无要求,位置无要求,一般mybatis.xml,放在src目录下下

b)mybatis 配置问文件的dtd约束

(3.3.1)配置文件详解

1.1 <configuration> 这是配置文件的根元素, 所有的其他元素都要在这个标签下使用.

1.2 <environments> 用于管理所有的环境, 并可以指定默认使用哪个环境. 通过default 属性来指定.

1.3 <environment> 用于配置环境. id 属性用于唯一标识当前环境

1.4 <transactionManager> 用于配置事务管理器

1.4.1 type 属性 用于指定 MyBatis 采用何种方式管理事务

a) JDBC: 表示 MyBatis 采用与原生 JDBC 一致的方式管理事务

b) MANAGED: 表示将事务管理交给其他容器进行, 例如 Spring

1.5 <DataSource> 用于配置数据源, 设置 MyBatis 是否使用连接池技术, 并且配置数据 库连接的四个参数

1.5.1 type 属性 用于设置 MyBatis 是否使用连接池技术 a) POOLED, 表示采用连接池技术

b) UNPOOLED, 表示每次都会开启和关闭连接, 不使用连接池技术

c) JNDI, 使用其他容器(例如 Spring)提供数据源

1.6 <property> 用于配置数据库连接参数(driver, url, username, password)

1.7 <mappers> 用于扫描 mapper 信息

(3.4)定义pojo类 ---实体类--属性的方法

(3.5)数据访问层 ---mapper映射文件

在mybatis中,推荐使用mapper作为包名(以前我们常用Ddao作为包名)

现在,在mapper包中只需要写一个映射配置文件.xml即可

UserMapper .xml 这个文件要干什么 用于定义要执行的SQL语句

同时设定返回结果的类型

(3.5.1)mapper 映射配置文件详解

<mapper> 根元素

namespace 属性

用于指定命名空间, mybatis 是通过 namespace+id 的方式来定位 SQL 语句的, 所以必须指定namespace. 通常namespace被配置为全限定路 径

<select> 用于定义查询语句(DQL)

id 属性

用于唯一表示 SQL 语句, 类似于方法的方法名

resultType 属性

用于设定查询返回的数据类型, 要写类型的全限定路径. 如果返回的 是集合类型, 要写集合的泛型的类型.

(3.6)测试步骤

1.首先,加入一个JUnit工具包,添加@Test之后可以直接省去main方法

2.然后,需要加载SQL核心配置文件创建一个io输入流

3.接着,构建一个sqlSessionFactory工厂对象

4.再通过工厂打开sqlSession

5.通过session执行查询操作

6.关闭资源

3 MyBatis三个查询方法_selectList_selectOne_selectMap

1.1 selectList

用于查询多条数据的情况, 返回值是一个 list 集合. 如果没有查到任 何数据, 返回没有元素的集合(空集合, 不是 null)

1.2 selectOne

用于查询单条数据的情况, 返回值是一个对象. 如果没有查到任何数 据, 返回 null

1.3 selectMap

用于查询多条数据的情况, 多条数据要形成一个 Map 集合. 需要指 定哪个属性作为 key. 如果查不到, 返回一个空 map 集合(不是 null)

4 LOG4J

(4.1)log4j 简介

a) log4j 是 Apache 提供的一款记录日志的工具

b) log4j 既可以将日志信息打印在控制台, 也可以打印输出

到一个日志文件中.

c) log4j 可以定制日志的输出格式

d) log4j 可以定制日志级别

(4.2) 日志级别

FATAL

致命的, 表示非常严重的错误, 一般是系统错误

ERROR

错误, 表示代码错误, 比较严重

WARN

警告, 不影响程序的运行, 但是可能存在风险.

INFO

信息, 表示一个普通的输出信息

DEBUG

调试, 表示程序员人为的一些调试信息

(4.3)使用Log4J

(4.3.1)导包

log4j-1.2.17.jar

log4j-api-2.0-rc1.jar

log4j-core-2.0-rc1.jar

(4.3.2)配置文件

使用一个叫log4j.properties的配置文件, 会设定log4j的设置信息, 例如日志级别, 日志输出方式, 日志格式等等.

(4.3.3)日志的输出格式

%m 显示输出消息

%c 列出调用logger的类的全类名(包含包和路径)

%L显示调用logger的代码行

%d显示日志记录时间

如何使用log4j记录日志?

1).先解开日志文件

log4j.rootCategory=DEBUG, CONSOLE, LOGFILE

2).然后选择文件路径

log4j.appender.LOGFILE.File=e:/test.log

3).选择追加时,则不会进行覆盖

log4j.appender.LOGFILE.Append=true

5 MyBatis 对 log4j 的支持

(5.1)通过<settings>开启 log4j 的支持

<settings>用于设置 MyBatis 在运行时的行为方式, 例如: 缓存, 延迟加载, 日志等.

(5.2) 局部调整日志级别, 定制日志的输出

6 <properties>标签

(6.1)功能

用于加载外部的 properties 文件

(6.2) 使用方式

获取 properties 文件中数据时, 要通过${}的方式获取.

mybatis jar包_Java修行第039天---Mybatis框架相关推荐

  1. mybatis jar包_Spring和mybatis的集成步骤

    [1]创建一个工程 创建一个新的java Project 并在工程下创建一个lib文件夹(用于存放拷贝的.jar包文件) [2]导入需要的.jar包 导入项目需要的相关jar包 1)Spring的依赖 ...

  2. java开发常用jar包_Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. 一.common-lang3 简介:一个现在最为常用的jar包,封装了许多常用的工具包 依赖: org.apache.common ...

  3. mybatis jar包_springboot2整合mybatis-plus3踩到的坑

    前言 最近在进行项目重构,在架构师的建议下,就把项目中mybatis切换成mybatis-plus.因为mybatis-plus在mybatis的基础上只做增强不做改变,因此切换的成本很低,就只需改j ...

  4. mybatis jar包_Spring4+SpringMVC+MyBatis整合思路

    本文主要简单讲解框架整合的思路. 1.Spring框架的搭建 这个很简单,只需要web容器中注册org.springframework.web.context.ContextLoaderListene ...

  5. java常用的jar包_Java中常用的jar包有哪些

    Java中常用的jar包有哪些 发布时间:2020-06-22 11:26:02 来源:亿速云 阅读:108 作者:Leah 今天就跟大家聊聊有关Java中常用的jar包,可能很多人都不太了解,为了让 ...

  6. java动态打jar包_java动态加载jar包

    目录结构如下. ├── main │   ├── java │   │   └── lu │   │   └── tool │   │   └── jar │   │   ├── InterfaceR ...

  7. commons-pool2-2.3 jar包_Java Jar包压缩、解压使用指南

    什么是jar包 JAR(Java Archive)是Java的归档文件,它是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件. 如何打/解包 使用jdk/bin/jar.exe工具,配置完 ...

  8. java cglib jar包_Java面试题|反射必看的4道面试题

    上三篇: 动力节点:Java面试题|多线程21道必看面试题​zhuanlan.zhihu.com 动力节点:面试题|Java基础17道常见面试题​zhuanlan.zhihu.com 动力节点:面试题 ...

  9. java转json jar包_java转换json需导入的jar包说明

    commons-beanutils-1.8.0.jar不加这个包 java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBe ...

最新文章

  1. 清华大学人工智能深度报告:八大维度解析机器学习
  2. 求助帖:android开发初期:为什么我在活动二设置的singInstance模式跑到活动三去了???
  3. maya中英文对比_maya中英文对照表
  4. 前端学习(2822):页面配置文件
  5. 免费微信小程序商城源代码,基于Uni-App,实现一码多端
  6. 合并时显示是无效的m3u8文件_合并M3U8文件方法
  7. python识别中文验证码_Python实现验证码识别
  8. python软件是免费的吗-python免费吗
  9. Python小爬虫之协程爬虫快速上手
  10. 概率论基础知识(三) 参数估计
  11. 华图教育_南京_前端实习面试
  12. python代码加密运行_python源码下载后怎样进行加密
  13. iOS 简单实用的音乐播放器,少年,自己做个歌单吧。。。。。。
  14. 数据库--02--数据模型--层次模型.网状模型.关系模型
  15. 牛客网学习笔记——简单题们(二)
  16. 3dmax 单位匹配和基本单位设置
  17. 禁止电脑移动某个指定文件_电脑小技巧-- 分享个简洁的系统清理工具
  18. (24)打鸡儿教你Vue.js
  19. snprintf用法解析
  20. 制作PS合成在易拉罐中洗澡的水果

热门文章

  1. new file https 找不到路径_Python3用pathlib模块替代os.path进行文件路径的操作
  2. ad取消覆铜_【学院推荐】PCB工程师不得不看:超级实用AD常用快捷键总结
  3. python plot画图_1. 用Python画出漂亮的图表
  4. 别再说Python没有枚举类型了,好好看看
  5. 4.odoo13的学习(odoo中的xml)
  6. C++学习笔记4[循环语句]
  7. opencv进阶学习笔记12:轮廓发现和对象测量
  8. wxWidgets:wxRichTextHTMLHandler 类用法
  9. boost::spirit模块实现自定义karma计数器的测试程序
  10. boost::adaptors相关的测试程序