今天是接触框架的第一天,首先呢,要了解框架是什么,这是个耳熟能详的词。

框架是什么?常用的框架有哪些?

1. 什么是框架

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

b) 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用户名, 密码必须告知框架.

c) 程序员在使用框架的时候,通常以配置文件的方式告知框架需要的信息,多数会使用 xml 作为框架的配置文件.

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

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

f) 常见的 java 开发的框架

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

a) MyBatis 是一个 ORM 框架, 用于操作数据库, 底层是对jdbc 进行的封装.

b) MyBatis 的前身是 iBatis, 是 Apache 下的一个开源项目.现在被迁移到了 GitHub 上.

c) 中文网址:

http://www.mybatis.org/mybatis-3/zh/getting-startwww.mybatis.org

ed.html

d) MyBatis 各版本下载地址:


mybatis/mybatis-3github.com


springBoot 怎么关闭mybatis sql语句日志打印_jar


 Spring, 是一个容器

 SpringMVC, 分层框架

 Struts2, 功能类似于 SpringMVC

 Hibernate, 功能类似于 MyBatis

MyBatis 环境搭建

MyBatis 环境搭建 之jar包详解

1.1 创建项目

java project

1.2 导入 jar 包

1.2.1 MyBatis 核心 jar

mybatis-3.2.7.jar

1.2.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 日志

1.2.3 驱动 jar

mysql-connector-java-5.1.30.jar

MyBatis 核心配置文件

1.1 要求

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

1.2 dtd

a) MyBatis 官方提供了 dtd 约束, 方便 xml 的编写


<!DOCTYPE configuration   
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"   
"http://mybatis.org/dtd/mybatis-3-config.dtd"
 >


b) 关联 mybatis 配置文件的 dtd 约束


springBoot 怎么关闭mybatis sql语句日志打印_mybatis 日志关闭_02


1.3 配置文件内容


springBoot 怎么关闭mybatis sql语句日志打印_配置文件_03


springBoot 怎么关闭mybatis sql语句日志打印_配置文件_04


MyBatis映射文件编写及扫描配置

在 MyBatis 中, 推荐使用 mapper 作为包名, 我们只需要写一个映射配置文件即可。UserMapper.xml, 用于定义要执行的 SQL 语句, 同时设定返回结果的类型。


springBoot 怎么关闭mybatis sql语句日志打印_配置文件_05


在核心配置文件中添加 mapper 扫描


<!--扫描映射  -->
   <mappers >
       <mapper resource="com/sxt/mapper/UserMapper.xml"/>
   </mappers>


MyBatis 中常用的三个查询方法

1.1 selectList

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


springBoot 怎么关闭mybatis sql语句日志打印_jar_06


1.2 selectOne

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


public  void testSelOne() throws IOException{
      	//加载MyBaties中的核心配置文件
		InputStream is = Resources.getResourceAsStream("mybaties.xml");
        //构建SqlSessionFactory工厂对象
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
		//通过工厂打开SqlSession
		SqlSession session = factory.openSession();
	    
		//通过session执行操作
		   //selectOne
		User  user =  session.selectOne("com.sxt.mapper.UserMapper.selOne");
		System.out.println(user);
		//关闭连接
		session.close(); 
	
	}


1.3 selectMap

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


springBoot 怎么关闭mybatis sql语句日志打印_mybatis 日志关闭_07


LOG4J学习

1.1 log4j 简介

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

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

到一个日志文件中.

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

d) log4j 可以定制日志级别

1.2 日志级别

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

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

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

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

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

LOG4J配置文件详解

1. log4j 的使用

1.1 导包

log4j-1.2.17.jar

log4j-api-2.0-rc1.jar

log4j-core-2.0-rc1.jar

1.2 配置文件

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


springBoot 怎么关闭mybatis sql语句日志打印_配置文件_08


日志的输出格式


#Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下
#    %m 输出代码中指定的消息
#    %M 输出日志发生的方法名
#  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#  %r 输出自应用启动到输出该log信息耗费的毫秒数
#  %c 输出所属的类目,通常就是所在类的全名
#  %t 输出产生该日志事件的线程名
#  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
#  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
#  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
#    %L 输出日志发生的位置
#     %F 输出类名


log4j的5种日志级别测试


package com.sxt.test;

import org.apache.log4j.Logger;

public class TestLog4j {

	public static void main(String[] args) {
		//获取Log对象
		Logger logger = Logger.getLogger(TestLog4j.class);
		
		//5个日志分别对应5个输出方法,方法名和级别名一样
		logger.fatal("系统崩溃了》》》");
		logger.error("发生了错误?");//System.out.println();
		logger.warn("警告!");
		logger.info("输出消息");
		logger.debug("调试....");
		
	}
}


MyBatis 对 log4j 的支持

1.1 通过<settings>开启 log4j 的支持

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


<!-- settings标签 -->
	<settings>
		<!-- 设置MyBatis使用log4j日志支持 -->
		<setting name="logImpl" value="LOG4J" />
	</settings>


1.2 局部调整日志级别, 定制日志的输出


springBoot 怎么关闭mybatis sql语句日志打印_jar_09


properties标签实现软编码

<properties>标签 用于加载外部的 properties 文件

使用方式 :


springBoot 怎么关闭mybatis sql语句日志打印_配置文件_10