package com.itheima.mybatis.test;
import com.itheima.mybatis.domain.Order;
import com.itheima.mybatis.domain.User;
import com.itheima.mybatis.mapper.UserMapper;
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.List;
public class MybatisTest {
@Test
public void findOrderInfo() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Order order = userMapper.queryOrderAndUserById(101L);
String username = order.getUser().getUsername();
System.out.println(username);
// 4、释放资源
sqlSession.close();
}
@Test
public void findAll() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> users = userMapper.selectAll() ;
users.forEach( s -> System.out.println(s) );
// 4、释放资源
sqlSession.close();
}
@Test
public void findByUserIdCache() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象,然后获取Mapper代理对象,进而进行查询
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSessionFactory对象获取SqlSession对象,然后获取Mapper代理对象,进而进行查询
UserMapper userMapper1 = sqlSession.getMapper(UserMapper.class);
UserMapper userMapper2 = sqlSession.getMapper(UserMapper.class);
// 根据id进行查询
User user1 = userMapper1.findByUserId(1);
User user2 = userMapper2.findByUserId(1);
// 输出
System.out.println(user1);
System.out.println(user2);
}
@Test
public void findByUserId() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象,然后获取Mapper代理对象,进而进行查询
SqlSession sqlSession1 = sessionFactory.openSession();
UserMapper userMapper1 = sqlSession1.getMapper(UserMapper.class);
User user1 = userMapper1.findByUserId(1);
sqlSession1.close(); // 关闭会话,此时数据一级缓存中的数据才会转移到二级缓存中
// 3、通过SqlSessionFactory对象获取SqlSession对象,然后获取Mapper代理对象,进而进行查询
SqlSession sqlSession2 = sessionFactory.openSession();
UserMapper userMapper2 = sqlSession2.getMapper(UserMapper.class);
User user2 = userMapper2.findByUserId(1);
sqlSession2.close();
// 输出
System.out.println(user1);
System.out.println(user2);
}
@Test
public void saveUser() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 创建User对象
User user = new User();
user.setUsername("itcast");
user.setPassword("1234");
user.setGender("男");
user.setAddr("北京");
userMapper.saveUser(user);
// 提交事务
sqlSession.commit();
// 4、释放资源
sqlSession.close();
}
@Test
public void updateUser() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 创建User对象
User user = new User();
user.setId(8);
user.setUsername("itheima");
user.setPassword("3456");
user.setGender("女");
user.setAddr("上海");
userMapper.updateUser(user);
// 提交事务
sqlSession.commit();
// 4、释放资源
sqlSession.close();
}
@Test
public void deleteById() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 根据id删除数据
userMapper.deleteById(8);
// 提交事务
sqlSession.commit();
// 4、释放资源
sqlSession.close();
}
@Test
public void query() throws IOException {
// 1、加载全局配置文件获取SqlSessionFactory对象
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 2、通过SqlSessionFactory对象获取SqlSession对象
SqlSession sqlSession = sessionFactory.openSession();
// 3、通过SqlSession获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 根据id删除数据
List<User> userList = userMapper.query("%ith%", "%京%");
userList.forEach( s -> System.out.println(s) );
// 4、释放资源
sqlSession.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
01-JavaSE (2).zip
共293个文件
png:244个
xml:23个
md:12个
需积分: 5 0 下载量 93 浏览量
2023-08-02
11:18:14
上传
评论
收藏 13.93MB ZIP 举报
温馨提示
01-JavaSE (2)
资源推荐
资源详情
资源评论
收起资源包目录
01-JavaSE (2).zip (293个子文件)
MybatisTest.class 5KB
Order.class 3KB
User.class 3KB
UserMapper.class 849B
.gitignore 254B
mybatis01.iml 2KB
MybatisTest.java 8KB
UserMapper.java 1KB
Order.java 447B
User.java 286B
Java虚拟机面试题.md 47KB
基础知识面试题.md 45KB
MySQL面试题.md 41KB
Spring Cloud面试题.md 34KB
Redis面试题.md 32KB
Spring面试题.md 30KB
海量数据解决方案-MyCat.md 25KB
Mybatis面试题.md 15KB
双机热备方案-Keepalived.md 10KB
Spring Boot面试题.md 8KB
Spring MVC面试题.md 7KB
mq面试题.md 5KB
image-20211122221623386.png 331KB
image-20220215213316082.png 331KB
image-20220714094908757.png 269KB
image-20220714094737201.png 269KB
image-20220714094852716.png 269KB
image-20220205234551818.png 268KB
image-20220227185131682.png 230KB
image-20211122222251802.png 219KB
image-20220226135547913.png 215KB
image-20220213131235983.png 211KB
image-20220209184850644.png 210KB
image-20220205133550896.png 204KB
image-20211122222552239.png 203KB
image-20220226125909181.png 179KB
image-20220205134106710.png 176KB
image-20220213181043801.png 172KB
image-20220205135024347.png 170KB
image-20220213124914565.png 169KB
image-20220227185910188.png 169KB
image-20220204163028963.png 152KB
image-20211122221953914.png 151KB
image-20211122221834107.png 145KB
image-20220227002310376.png 143KB
image-20220226143609278.png 141KB
image-20220227002547447.png 141KB
image-20220218134126349.png 141KB
image-20220205092454233.png 140KB
image-20220505134107303.png 138KB
image-20220211234958518.png 136KB
image-20220205142506230.png 133KB
image-20220226143209268.png 132KB
image-20220205181209799.png 132KB
image-20220218134011125.png 131KB
image-20220226124228612.png 125KB
image-20220608120219915.png 123KB
image-20220306165657544.png 121KB
1571652681276.png 120KB
image-20220227184741711.png 119KB
image-20220208104043760.png 119KB
image-20220204150843628.png 115KB
image-20220208110227567.png 115KB
image-20220227002146867.png 108KB
image-20220225132328333.png 108KB
image-20220226145143335.png 105KB
1572349771110.png 103KB
1565403196819.png 101KB
image-20220227003549030.png 99KB
image-20220205140202778.png 98KB
image-20220226143242929.png 96KB
image-20220208155336540.png 95KB
image-20220501174636413.png 95KB
image-20220214173409241.png 94KB
image-20220209185640674.png 93KB
image-20220214172035051.png 93KB
image-20220226141726380.png 92KB
image-20220205135835292.png 92KB
image-20220210224116242.png 91KB
image-20211119124000814.png 89KB
image-20220205192221590.png 88KB
image-20220225131410470.png 88KB
image-20220204160641098.png 86KB
image-20220227184446470.png 86KB
image-20220226145537822.png 81KB
1565308804831.png 80KB
image-20220211234036227.png 80KB
image-20220227193840276.png 80KB
image-20220608120133376.png 78KB
image-20220227192500857.png 78KB
image-20220205094004602.png 78KB
image-20220209184644976.png 77KB
image-20220505130720532.png 75KB
image-20220210230309374.png 74KB
1565309706850.png 74KB
image-20220216235212123.png 74KB
image-20220227191923690.png 73KB
image-20220227192221258.png 73KB
image-20220216171842136.png 72KB
image-20220227213459891.png 71KB
共 293 条
- 1
- 2
- 3
资源评论
牵兔散步的萝卜
- 粉丝: 2
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- geoserver安装成功
- 欧姆龙PLC-CIP通讯
- Vue要点和难点实际应用方向和具体案例代码&代码解析
- 实施+BIOS+操作系统+用于电脑重装系统
- 736524484973749Themes_2.2.8.6-global.apk
- 读入一段音频后添加不同种类的噪声;分别采用滑动平均滤波器,中值滤波、直接频域滤波等方法去除噪声
- 哥哥-2405051016.awb
- 基于matlab实现的文档+程序 关于粒子群算法的doc文档,里面包含matlab源程序.rar
- 基于matlab实现的文档+程序 鲸鱼优化算法和粒子群优化.rar
- 基于matlab实现的文档+程序 蚁群算法求解旅行商问题TSP,bp求解判断iris花的品种.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功