package com.itheima.test;
import com.itheima.mapper.BrandMapper;
import com.itheima.pojo.Brand;
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 org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MyBatisTest {
@Test
public void testSelectAll() throws Exception {
//1.获取核心配置文件
//1.加载Mybatis 的核心配置文件,获取 sqlSessionFactory,用来执行sql语句的。
String resource = "mybatis-config.xml";//配置文件的路径,就是加载url 用户名和密码之类的。
InputStream inputStream = Resources.getResourceAsStream(resource);
//通过mybatis 提供的一个资源加载的类 Resources类 ,将字符串输入的进来,得到一个字节输入流。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//然后得到一个sqlSessionFactory 对象。
//2.获取sqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取mapper 接口的代理对象
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法
List<Brand> brands = brandMapper.selectAll();
System.out.println(brands);
//5.释放资源
sqlSession.close();
}
@Test
public void testSelectById() throws Exception {
//1.获取核心配置文件
//1.加载Mybatis 的核心配置文件,获取 sqlSessionFactory,用来执行sql语句的。
String resource = "mybatis-config.xml";//配置文件的路径,就是加载url 用户名和密码之类的。
InputStream inputStream = Resources.getResourceAsStream(resource);
//通过mybatis 提供的一个资源加载的类 Resources类 ,将字符串输入的进来,得到一个字节输入流。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//然后得到一个sqlSessionFactory 对象。
//2.获取sqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取mapper 接口的代理对象
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法
int id = 1;
Brand brand = brandMapper.selectById(id);
System.out.println(brand);
//5.释放资源
sqlSession.close();
}
@Test
public void testSelectByCondition() throws Exception {
int status = 4;
String companyName = "华为";
String brandName = "华为";
companyName = "%" + companyName + "%";
brandName = "%" + brandName + "%";
Brand brand = new Brand();
brand.setStatus(status);
brand.setCompanyName(companyName);
brand.setBrandName(brandName);
//1.获取核心配置文件
//1.加载Mybatis 的核心配置文件,获取 sqlSessionFactory,用来执行sql语句的。
String resource = "mybatis-config.xml";//配置文件的路径,就是加载url 用户名和密码之类的。
InputStream inputStream = Resources.getResourceAsStream(resource);
//通过mybatis 提供的一个资源加载的类 Resources类 ,将字符串输入的进来,得到一个字节输入流。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//然后得到一个sqlSessionFactory 对象。
//2.获取sqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取mapper 接口的代理对象
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法
// List<Brand> brands = brandMapper.selectByCondition(status, companyName, brandName);
List<Brand> brands = brandMapper.selectByCondition(brand);
System.out.println(brands);
//5.释放资源
sqlSession.close();
}
@Test
public void testSelectByConditionMap() throws Exception {
int status = 4;
String companyName = "华为";
String brandName = "华为";
companyName = "%" + companyName + "%";
brandName = "%" + brandName + "%";
Map map = new HashMap();
map.put("status",status);
map.put("companyName",companyName);
map.put("brandName",brandName);
// Brand brand = new Brand();
// brand.setStatus(status);
// brand.setCompanyName(companyName);
// brand.setBrandName(brandName);
//1.获取核心配置文件
//1.加载Mybatis 的核心配置文件,获取 sqlSessionFactory,用来执行sql语句的。
String resource = "mybatis-config.xml";//配置文件的路径,就是加载url 用户名和密码之类的。
InputStream inputStream = Resources.getResourceAsStream(resource);
//通过mybatis 提供的一个资源加载的类 Resources类 ,将字符串输入的进来,得到一个字节输入流。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//然后得到一个sqlSessionFactory 对象。
//2.获取sqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取mapper 接口的代理对象
BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法
// List<Brand> brands = brandMapper.selectByCondition(status, companyName, brandName);
List<Brand> brands = brandMapper.selectByCondition(map);
System.out.println(brands);
//5.释放资源
sqlSession.close();
}
}
|