目录
一、核心配置文件
二、junit介绍
三、自定义java注解
四、自定义注解
五、添加log4j的支持
六、sql映射文件的介绍
一、核心配置文件
1、核心配置文件中需要注意顺序
2、根节点
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
3、环境:可以配置多套环境,但是必须id
唯一,同时
default
属性默认需要选择一个
id
对应的值
4、
mappers
(1)指定绝对路径去找到我们的
sql
映射文件,弊端: 需要一个
sql
映射文件对应一个配置,容易忘记
(2)我们可以根据包去统一查找:但需要我们的接口的名字和
sql
映射文件的名字同名(保持一致)
二、junit介绍
Junit是一个
java
语言的单元测试框架、也就是回归测试框架、在软件开发中也叫白盒测试、继承
TestCase
类(
Junit4的测试类不再继承TestCase
父类、引入了
Annotation
注解),用于编写和可重复运行的自动化测试。
单元测试的好处:
编码完成后就可以立即测试、应今早发现问题
将测试保存成为代码、可以随时快速执行
junit4的使用:
JUnit4.x是
JUnit
框架有史以来的最大改进,其主要目标便是利用
Java5
的
Annotation
特性简化测试用例的编写。
junit4.x版本我们常用的注解:
@BeforeClass 全局只会执行一次,而且是第一个运行
@Before 在测试方法运行之前运行(每个测试方法之前都会执行一次)
@Test 测试方法
@After 在测试方法运行之后允许(每个测试方法之后都会执行一次)
@AfterClass 全局只会执行一次,而且是最后一个运行
@BeforeClass>@before>@test>@after>@afterClass
@Ignore 忽略此方法
@Runwith 放在测试类名之前,用来确定这个类怎么运行的。也可以不标注,会使用默认运行器
@Parameters 用于使用参数化功能
@SuiteClasses 用于套件测试
@BeforeClass @Before @After @AfterClass这些注解标注的方法又称测试的
Fixture
导入依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
三、自定义java注解
Java注解
Annotation
又称
Java
标注,是
JDK5.0
引入的一种注释机制。
Java
注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用。起到说明、配置的功能。
注解其实就是代码里的特殊标记、它用于替代配置文件。传统方式通过配置文件告诉类如何运行,有了注解技术之后,开发人员可以通过注解告诉类如何运行。在java
技术里注解的典型应用就是,可以通过反射技术去得到类里面的注解、以决定怎么去运行类。
注解实际上就是一种数据结构,为我们的类、属性、方法等添加附加信息,我们可以利用这些附加信息对宿主进行一些逻辑判断。
注解的生命周期有三个阶段:1
、
Java
源文件阶段;
2
、编译到
class
文件阶段;
3
、运行期阶段。
浅显来讲、注解就像访问某种资源的一种约束条件、你只有满足了该条件、你才有权限进行某些操作。在实际开发中,创建注解很简单、怎么履行注解的约束条件才时要害。
四、自定义注解
创建自定义注解包含三部分内容:
1、注解姓名前面要用@interface
进行标识
2、元注解
3、特点
元注解:元注解又叫做注解的注解,其实便是对该注解的一些解说阐明。常用的元注解有两个: @Target @Retention
@Retention 表明该注解的运行时间、里边的变量是一个枚举
@Target 表明该注解作用的方位、里面的变量是一个枚举
ElementType.TYPE:作用在类、接口或枚举上面
ElementType.FIELD:作用在成员变量上面
ElementType.METHOD:作用在办法上面
ElementType.PARAMETER:作用在方法参数上面
ElementType.CONSTRUCTOR:作用在构造器上面
ElementType.LOCAL_VARIABLE:作用在局部变量上面
ElementType.ANNOTATION_TYPE:作用在注解上面
ElementType.PACKAGE:作用在包上面
在实践开发中咱们会常常用到 TYPE
、METHOD、PARAMETER。
注解@interface
不是接口是注解类
在jdk1.5
之后加入的功能,使用
@interface
自定义注解时,自动继承了
java.lang.annotation.Annotation
接口。
五、添加log4j的支持
导入依赖:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
添加log4j.properties 文件:
# 全局日志配置
log4j.rootLogger=ERROR, stdout
# MyBatis 日志配置
log4j.logger.com.hqyj=TRACE
# 控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
使用:
private Logger logger = Logger.getLogger(StudentMapperTest.class);
logger.info();
六、sql映射文件的介绍
1、也是
xml
文件,但是需要头文件的支持 。注意命名方式
<?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">
属性 namespace
必须要有的,指向接口,涉及到路径基本上都是 包名
+
类名
select 标签:
id
必须要有,resultType 返回值类型
int /Integer
parameterType 参数的类型
如果返回值是对象或者集合 resultType=“
类名
”
,其他基本类型保持一致
如果参数是一个,parameterType
根据参数类型保持一致,
如果参数大于一个,必须使用注解 @Param
来进行区分
sql映射文件中,参数的占位符
#{}
,如果参数前面添加注解,我们可以不用添加
@parameterType
参数占位符一定要使用@param
中指定的名字来占位