关闭mybatis日志_MyBatis框架学习——小结

da4243268c8aafe113a68a32c278d962.png

1. 什么是框架

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

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

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

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

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

1.1常见的 java 开发的框架

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

 Spring, 是一个容器

 SpringMVC, 分层框架

 Struts2, 功能类似于 SpringMVC

 Hibernate, 功能类似于 MyBatis

1.2 MyBatis 框架简介

Mybatis ——持久层框架

MyBatis 是一个 ORM 框架,(object relation mapping(对象关系映射)) 用于操作数据库, 底层是jdbc 进行的封装.

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

1.3 MyBatis 环境搭建 jar 包详解

1)先导入 MyBatis 核心 jar

mybatis-3.2.7.jar

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

1.4.MyBatis 核心配置文件

实例

注意点任何框架都不能管理事务,只能在type中告诉它使用什么方式管理事务

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!-- 
		用于指定使用哪个环境 
			default: 用于指定使用的环境id
	-->
	<environments default="dev">
		<!-- 
			用于配置开发环境
				id: 环境的唯一识别码
		 -->
		<environment id="dev">
			<!-- 
				事务管理器
				type: 用于设置mybatis采用什么方式管理事务
					JDBC表示采用和JDBC一样的事务管理方式
			-->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 
				数据源/连接池, 用于配置连接池和数据库连接的参数
				type: 用于设置mybatis是否采用连接池技术
					POOLED表示MyBatis采用连接池技术
			 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/java505"/>
				<property name="username" value="root"/>
				<property name="password" value="root"/>
			</dataSource>
		</environment>
	</environments>
	<!-- 扫描mapper文件 -->
	<mappers>
		<mapper resource="com/bjsxt/mapper/UserMapper.xml" />
	</mappers>
</configuration>

1.5 Mapper 映射文件

在 MyBatis 中, 推荐使用 mapper (JDBC中dao包)作为包名, 我们只需要写一个映射配置文件即可. 实体类名+Mapper.xml

namespace: 命名空间, 可以随意定义, 一般情况下要写全限定路径 MyBatis管理SQL语句是通过namespace+id来定位的

<mapper namespace="com.bjsxt.mapper.UserMapper"></mapper>

select标签用于编写查询语句 id: sql语句的唯一标识, 类比为方法名

resultType: 用于设定返回结果的类型(全限定路径) 如果返回结果是集合, 要写集合泛型的类型 <select id="selAll" resultType="com.bjsxt.pojo.User"> select * from t_user </select>

实例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.sxt.mapper.StudentMapper">
	<select id="selectAll" resultType="cn.sxt.pojo.Student">
	select * from test
	</select>	
</mapper>

1.6 mybatis框架测试类的步骤

在Test类中获取SqlSession对象的三步

//加载mybatis核心配置文件
InputStream is= Resources.getResourceAsStream(“mybatis.xml”);
//获得SqlSessionFactory对象
SqlSessionFactory sf=new SqlSessionFactoryBuilder.build(is);
//通过工厂对象sf获得SqlSession对象
SqlSession session=sf.openSession();

最后通过session调用增删改查方法,MyBatis管理SQL语句是通过namespace+id来定位的
List<Student> stu=session.selectList("cn.sxt.mapper.StudentMapper.selectAll");

记得关闭session.close()

1.7 框架使用步骤

1.导入需要的jar包

2.创建需要的包进行分层

3. 配置文件的编写mybatis.xml

4. 封装一个实体类(记得实现Serializable接口,添加序列化ID,它决定着是否能够成功反序列化)

5. 编写mapper映射文件StudentMapper.xml(指定命名空间,指定Sql 语句id,)

6.. 测试 创建SqlSession对象,让后通过SqlSession调用增删改查方法,

7.记得关闭资源

1.8 MyBatis三个查询方法

SelectList查询多个,返回一个list集合,查询不到,返回空集合[] 不返回null

selectOne 查询一个,返回一条信息 查询不到,返回null

SelectMap 查询多个,返回一个map集合 查询不到,返回空集合[] 不返回null.

2. Log4J的五个日志级别

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

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

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

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

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

2.1 Log4J配置文件详解_日志格式简介_日志对象的获取及使用

2.1.1常用的log4j日志格式符号

a51d7e732ca310ec78a18c7e3d0447a1.png

2.1.2如何使用log4j记录日志?

生成logger对象 Logger logger = Logger.getLogger(TestLog4j.class);

调用各个等级的方法 如:logger.debug("调试...")

2.2 properties标签实现软编码

用于加载外部的 properties 文件

先在src包下创建一个db.properties文件,然后在

<environments default="dir" />和<transactionManager/>之间加上

<properties resource="db.properties"></properties>

最后配置

<environments default="dir">
		<environment id="dir">
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${username}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>

版权声明:本文为weixin_36125719原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。