1. 框架是什么_为什么框架都要有配置文件

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

①框架是偷懒的程序员将代码进行封装, 之后进行重复使的过程。

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

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

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

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

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

2. 常用的框架有哪些_MyBatis框架简介

(1) 列举你常用的框架, 并简单描述其主要功能。

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

②Spring, 是一个容器 Ø

③SpringMVC, 分层框架 Ø

④Struts2, 功能类似于 SpringMVC Ø

⑤Hibernate, 功能类似于 MyBatis

(2) 你如何理解MyBatis框架?

①MyBatis 是一个 ORM 框架, 用于操作数据库, 底层是jdbc 进行的封装。

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

3. 搭建MyBatis环境使用的jar包详解

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

mysql-connector-java-5.1.30.jar驱动包

4. 编写MyBatis核心配置文件

(1) MyBatis的核心配置文件有什么特点, 配置时有什么注意事项?

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

②dtd

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

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

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

(2) 什么是数据源? 在核心配置文件中, 如何配置数据源?

<!--

数据源/连接池,用于配置连接池和数据库连接的参数

type:用于设置mybatis是否采用连接池技术

POOLED表示MyBatis采用连接池技术

-->
 <dataSource type="POOLED">
 <property name="driver" value="com.mysql.jdbc.Driver"/>
 <property name="url" value="jdbc:mysql://localhost:3306/beijing"/>
 <property name="username" value="root"/>
 <property name="password" value="root"/>
 </dataSource>

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

MyBatis映射文件编写、扫描配置、映射文件中常用的标签及配置时的注意事项

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

MyBatis映射文件编写:

<!--

namespace:命名空间,可以随意定义,一般情况下要写全限定路径

MyBatis管理SQL语句是通过namespace+id来定位的

-->
<mapper namespace=" com.bjsxt.mapper.UserMapper">
<!--

select标签用于编写查询语句

id:sql语句的唯一标识,类比为方法名

resultType:用于设定返回结果的类型(全限定路径)

如果返回结果是集合,要写集合泛型的类型

-->
<select id="selAll" resultType="com.bjsxt.pojo.User">
 select * from t_user
</select>
</mapper>

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

<!-- 扫描mapper文件 -->
 <mappers>
 <mapper resource="com/bjsxt/mapper/UserMapper.xml"/>
 </mappers>

6. 测试代码_selectList实现查询所有的操作

(1) 使用MyBatis时用到的核心对象是什么? 如何创建?

//加载MyBatis核心配置文件
InputStream is=Resources.getResourceAsStream("mybatis.xml");
//构建SqlSessionFactory工厂对象
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//通过工厂打开SqlSession
SqlSession session=factory.openSession();
//通过Session执行查询操作
List<User> list=session.selectList("com.bjsxt.mapper.UserMapper.selAll");
System.out.println(list);
//关闭资源
session.close();

(2) 什么是JUnit? 如何使用?

在项目中添加JUnit.Jar包,在方法外面添加“@Test”(导入org.junit.Test),在类中不需要主函数就可以进行测试。

7. MyBatis核心配置文件详解

(1) MyBatis核心配置文件中有哪些常用标签? 如何配置?

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

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

③<environment>:用于配置环境,id属性用于唯一标识当前环境。

④<transactionManager>:用于配置事务管理器。

Type属性:用于指定MyBatis采用何种管理事务。

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

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

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

Type属性:用于设置MyBatis是否使用连接池技术。

POOLED:表示采用连接池技术。

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

JNDI:使用其他容器(如:Spring)提供数据源。

⑥<Property>:用于配置数据库连接参数(driver、url、username、password)。

⑦<mappers>:用于扫描mapper信息。

(2) 为什么要进行映射扫描? 如何配置?

①<mapper>:根元素

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

②<Select>:用于定义查询语句(DQL)

Id属性:用于唯一表示SQL语句,类似于方法的方法名。

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

8. MyBatis三个查询方法_selectList_selectOne_selectMap

(1) 请描述selectList, selectOne和selectMap三个方法的作用及其中的关系。

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

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

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

(2) 简述selectMap方法如何使用? 以及返回结果的组成方式.




dubbo配置consumer dubbo常用配置_log4j控制台输出所有内容


dubbo配置consumer dubbo常用配置_dubbo配置consumer_02


9. Log4J简介_Log4J的五个日志级别

(1) Log4J简介_Log4J的五个日志级别

FATAL>ERROR>WARN>INFO>DEBUG

(2) Log4J日志级别有哪些? 分别代表什么含义?

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

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

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

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

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

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

(1) 常用的log4j日志格式符号有哪些? 代表什么含义?


dubbo配置consumer dubbo常用配置_log4j控制台输出所有内容_03


dubbo配置consumer dubbo常用配置_log4j控制台输出所有内容_04


(2) 如何使用log4j记录日志?

①导包 log4j-1.2.17.jar、 log4j-api-2.0-rc1.jar 、log4j-core-2.0-rc1.jar

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

11. 如何使用log4j记录日志?

(1) 如何在MyBatis中使用Log4J? 如何配置

通过开启 log4j 的支持

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

<settings> 
<setting name="logImpl" value="LOG4J"/> 
</settings>

(2) 如何设置MyBatis中日志的级别? 有几种级别?

# 单独设置SQL语句的输出级别为DEBUG级别

①方法级别 # log4j.logger.com.bjsxt.mapper.UserMapper.selAll=DEBUG

②类级别 # log4j.logger.com.bjsxt.mapper.UserMapper=DEBUG

③包级别 log4j.logger.com.bjsxt.mapper=DEBUG

12. properties标签实现软编码

(1) 什么是软编码? 有什么好处?

使参数独立于文件之外,方便后续修改。

(2) properties标签如何配置?


dubbo配置consumer dubbo常用配置_log4j控制台输出所有内容_05


dubbo配置consumer dubbo常用配置_log4j控制台输出所有内容_06