一、Mybatis介绍
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
二.Mybatis入门
1. 用到的相关包 {Mybatis}
mybatis-3.4.4.jar
{数据库驱动包}
ojdbc6.jar
2 . NewFile.xml文件中的内容如下:
3. userMapper.xml文件如下
4 . MybatisUtil.java文件如下
package util;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MybatisUtil { private static SqlSession sqlSession; private static SqlSessionFactory sqlSessionFactory; public static SqlSessionFactory getSqlSessionFactory() { //mybatis的配置文件 String path="conf/NewFile.xml"; InputStream in =null; try{ //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件) in=Resources.getResourceAsStream(path); }catch(IOException e){ e.printStackTrace(); } //构建sqlSession的工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); return sqlSessionFactory; } public static SqlSession getSqlSession(){ if(sqlSession==null){ //创建能执行映射文件中sql的sqlSession SqlSession sqlSession=getSqlSessionFactory().openSession(); } return sqlSession; } public static void destory(){ sqlSession.commit(); sqlSession.close(); }}
5.JutilTest.java文件如下
package test;import static org.junit.Assert.*;import java.util.List;import org.apache.ibatis.session.SqlSession;import org.junit.After;import org.junit.Before;import org.junit.Test;import model.User;import util.MybatisUtil;public class JutilTest { private SqlSession ss; @Before public void setUp() throws Exception { ss=MybatisUtil.getSqlSession(); } //映射sql的标识字符串 mappers.userMapper.getAllUser @Test public void test() { //getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL Listlist=ss.selectList("mappers.userMapper.getAllUser", User.class); System.out.println(list); } @After public void tearDown() throws Exception { MybatisUtil.destory(); } }