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方法如何使用? 以及返回结果的组成方式.
9. Log4J简介_Log4J的五个日志级别
(1) Log4J简介_Log4J的五个日志级别
FATAL>ERROR>WARN>INFO>DEBUG
(2) Log4J日志级别有哪些? 分别代表什么含义?
①FATAL:致命的, 表示非常严重的错误, 一般是系统错误。
②ERROR:错误, 表示代码错误, 比较严重。
③WARN:警告, 不影响程序的运行, 但是可能存在风险。
④INFO:信息, 表示一个普通的输出信息。
⑤DEBUG:调试, 表示程序员人为的一些调试信息。
10. Log4J配置文件详解_日志格式简介_日志对象的获取及使用
(1) 常用的log4j日志格式符号有哪些? 代表什么含义?
(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标签如何配置?