简单介绍:
在之前我们介绍MyBatis的使用方法的时候,都是基于XML配置文件的方式,现在我们需要使用一个新的方式去简化XML配置文件的方式来帮助我们快速的开发,那就是MyBatis的注解式开发。
注解式开发就是将我们原本在XML配置文件中写的内容,将核心部分使用注解的方式直接配置在接口文件中,然后直接使用接口调用方法即可完成SQL语句的查询和结果集的映射的过程,接下来我们就详细的演示一下这个操作过程。
使用方法:
我们介绍注解是开发也是从几个方面开始,首先是基本的增删改操作,然后是复杂查询中的一对一查询,一对多查询,多对多查询,首先介绍简单的查询:
我们查询user表中的所有数据:
首先注解式开发的第一个特点就是没有SQL映射文件,也就是说我们的SQL语句是可以直接写在我们的接口中的:
在查询的时候,我们使用的是@Select注解,后面的参数就是我们要映射的SQL语句,然后在测试类中,我们就可以直接创建接口的动态实现类,然后通过调用对象的方法来执行SQL语句:
运行结果如下:
与我们使用XML配置文件的查询结果是一样的,使用注解的主要作用是减少我们编写大量的配置文件。
代码实现:
接口文件:
package Mappers;
import com.mybatis.POJO.student;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface stuMapper {
@Select("select * from student;")
public List<student> selectAll();
}
测试类:
package Mappers;
import com.mybatis.POJO.student;
import junit.framework.TestCase;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
public class studentMapperTest extends TestCase {
SqlSession session = null;
stuMapper mapper = null;
public void setUp() throws Exception {
InputStream stream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(stream);
session = build.openSession(true);
mapper = session.getMapper(stuMapper.class);
}
public void testSelectAll() {
for (student student : mapper.selectAll()) {
System.out.println(student.toString());
}
}
}
注意点:
在我们的MyBatis核心配置文件中引入外部配置文件的时候,和接口式开发时的引入方式是一样的,都是引入接口文件即可: