package com.jt.springboot_demo2_mybatis.mapper;
import com.jt.springboot_demo2_mybatis.pojo.DemoUser;
import com.jt.springboot_demo2_mybatis.pojo.Dept;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface DemoUserMapper {
//1,查询所有的表数据
List select01(Map map);
List findWhere(DemoUser demoUser);
void updateSet(DemoUser user);
List selectChoose(DemoUser user);
List findAll();
}
2,DeptMapper
package com.jt.springboot_demo2_mybatis.mapper;
import com.jt.springboot_demo2_mybatis.pojo.Dept;
import java.util.List;
public interface DeptMapper {
List findAll();
List findDept();
}
3,EmpMapper
package com.jt.springboot_demo2_mybatis.mapper;
import com.jt.springboot_demo2_mybatis.pojo.DemoUser;
import com.jt.springboot_demo2_mybatis.pojo.Emp;
import java.util.List;
public interface EmpMapper {
List findAll();
List findAllWhere();
}
select * from dept
SELECT d.dept_id,d.dept_name,e.id,e.name,e.age FROM
dept d
LEFT JOIN
emp e
ON
d.dept_id = e.dept_id
3,编辑 EmpMapper.xml映射文件
select e.id,e.name,e.age,d.dept_id,d.dept_name
from emp e,dept d
where e.dept_id = d.dept_id
select * from emp
select * from dept where dept_id = #{dept_id}
编辑mybatis-config.xml文件,添加映射文件.
编辑测试方法:
package com.jt.springboot_demo2_mybatis;
import com.jt.springboot_demo2_mybatis.mapper.DemoUserMapper;
import com.jt.springboot_demo2_mybatis.mapper.DeptMapper;
import com.jt.springboot_demo2_mybatis.mapper.EmpMapper;
import com.jt.springboot_demo2_mybatis.pojo.DemoUser;
import com.jt.springboot_demo2_mybatis.pojo.Dept;
import com.jt.springboot_demo2_mybatis.pojo.Emp;
import org.apache.catalina.User;
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.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import sun.management.Agent;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestMybatis {
private SqlSessionFactory sqlSessionFactory;
@BeforeEach
public void init() throws IOException {
//1,指定资源文件
//指定配置文件地址
String resource = "mybaits\mybaits.config.xml";
//通过IO流 加载指定的配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
//动态生成SqlSessionFactory
sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testFindWhere() {
//获取SQLSession 类比 数据库链接
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取Mapper接口
DemoUserMapper demoUserMapper = sqlSession.getMapper(DemoUserMapper.class);
DemoUser demoUser = new DemoUser();
demoUser.setAge(3000);
List list = demoUserMapper.findWhere(demoUser);
System.out.println(list);
sqlSession.close();
}
@Test
public void testUpdateSet() {
//获取SQLSession 类比 数据库链接
SqlSession sqlSession = sqlSessionFactory.openSession();
//获取Mapper接口
DemoUserMapper demoUserMapper = sqlSession.getMapper(DemoUserMapper.class);
DemoUser user = new DemoUser();
user.setId(1).setName("守山大使").setAge(4000).setSex("男");
demoUserMapper.updateSet(user);
sqlSession.close();
}
@Test
public void testSelectChoose() {
//获取SQLSession 类比 数据库链接
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取Mapper接口
DemoUserMapper demoUserMapper = sqlSession.getMapper(DemoUserMapper.class);
DemoUser user = new DemoUser();
user.setSex("男");
List list = demoUserMapper.selectChoose(user);
System.out.println(list);
sqlSession.close();
}
@Test
public void testFindDept(){
//获取SQLSession 类比 数据库链接
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取Mapper接口
DeptMapper deptMapper = sqlSession.getMapper(DeptMapper.class);
List list = deptMapper.findAll();
System.out.println(list);
sqlSession.close();
}
@Test
public void testoneToOne(){
//获取SQLSession 类比 数据库链接
SqlSession sqlSession = sqlSessionFactory.openSession(true);
//获取Mapper接口
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
List list = empMapper.findAll();
System.out.println(list);
sqlSession.close();
}
@Test
public void testOneToOne2(){
SqlSession sqlSession = sqlSessionFactory.openSession();
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
List list = empMapper.findAllWhere();
System.out.println(list);
sqlSession.close();
}
@Test
public void testoneToMore(){
SqlSession sqlSession = sqlSessionFactory.openSession();
DeptMapper deptMapper = sqlSession.getMapper(DeptMapper.class);
List list = deptMapper.findDept();
System.out.println(list);
sqlSession.close();
}
@Test
public void cache1(){
SqlSession sqlSession = sqlSessionFactory.openSession();
DemoUserMapper demoUserMapper = sqlSession.getMapper(DemoUserMapper.class);
List list1 = demoUserMapper.findAll();
List list2 =demoUserMapper.findAll();
List list3 =demoUserMapper.findAll();
System.out.println(list1 == list2);
sqlSession.close();
}
@Test
public void cache2(){
SqlSession sqlSession = sqlSessionFactory.openSession();
DemoUserMapper demoUserMapper = sqlSession.getMapper(DemoUserMapper.class);
demoUserMapper.findAll();
//关闭一级缓存
sqlSession.close();
SqlSession sqlSession2 = sqlSessionFactory.openSession();
DemoUserMapper demoUserMapper2 = sqlSession2.getMapper(DemoUserMapper.class);
demoUserMapper2.findAll();
sqlSession2.close();
}
}