Mybatis的基础知识点
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下Mybatis的基础知识点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mybatismybatis-c
千家信息网最后更新 2026年11月01日Mybatis的基础知识点
小编给大家分享一下Mybatis的基础知识点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
mybatis
mybatis-config.xml详细配置(配置时要把多余的属性删除 不能有中文 否则报错!)
分页
减少数据访问量
limt实现分页
sql语句: select * from 表名 limt 0,5;
0:数据开始的位置
5:数据的长度
第一种:使用Mybatis
1接口
ListgetUserByLimit(Map map);
2mapeer.xml
2-1结果集映射
3测试
@Test public void getUserByLimitTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); UserMapper mapper = sqlSession.getMapper (UserMapper.class); HashMap hashMap = new HashMap (); hashMap.put ("starIndex", 1); hashMap.put ("pageSize", 2); List userByLimit = mapper.getUserByLimit (hashMap); for (Object o : userByLimit) { System.out.println (o); } sqlSession.close (); } 第二种:使用RowBounds方法
1.接口
List getUserList();
2.实现接口
3.测试:
/** * 测试使用RowBounds实现分页 */@Test public void getUserByLimitRowBoundsTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); RowBounds rowBounds = new RowBounds (0, 2); List userList = sqlSession.selectList ("com.kuang.w.dao.UserMapper.getUserList", null, rowBounds); for (User user : userList) { System.out.println (user); } //关闭 sqlSession.close (); } 第三种:使用Mybatis的分页插件 pageHeIper
sql 多对一处理
数据库 :
pojo
数据库中teacher-table表 对应实体类 Teacher
package com.kuang.w.pojo;import lombok.Data;/** * @author W */@Datapublic class Teacher { private int tId; private String tName;}数据库中user表 对应 实体类Student
package com.kuang.w.pojo;import lombok.Data;/** * @author W */@Datapublic class Student { private int id; private int tid; private String name; private String password; private Teacher teacher;}1.接口
ListgetStudentList();
2.xml配置实现接口
mybatis-config.xm配置
3 测试
@Test public void getStudentListTest() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); StudentMapper mapper = sqlSession.getMapper (StudentMapper.class); List studentList = mapper.getStudentList (); for (Student student : studentList) { System.out.println (student); } sqlSession.commit (); sqlSession.close (); } sql 一对多处理
数据表结构 对应的实体类 不变
第一种方式: 多表联查
1接口
ListgetTeacher(int tid);
2.1 xml实现接口
2.2映射配置
3测试
/*测试一对多*/ @Test public void getTeacherTest2() { SqlSession sqlSession = MyBatisUtils.getSqlSession (); TeacherMapper mapper = sqlSession.getMapper (TeacherMapper.class); List teacher = mapper.getTeacher (1); for (Teacher teacher1 : teacher) { System.out.println (teacher1); } //提交事务 架子 这里可以不要 sqlSession.commit (); // 关闭 sqlSession.close (); } 结果
com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.kuang.w.dao.myTest,getTeacherTest2Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.PooledDataSource forcefully closed/removed all connections.PooledDataSource forcefully closed/removed all connections.PooledDataSource forcefully closed/removed all connections.PooledDataSource forcefully closed/removed all connections.Opening JDBC ConnectionCreated connection 164974746.Setting autocommit to false on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@9d5509a]==> Preparing: select t.tid, t.tname, u.id, u.name, u.password from mybatis.user u, mybatis.teacher_table t where t.tid = u.tid and t.tid = ?; ==> Parameters: 1(Integer)<== Columns: tid, tname, id, name, password<== Row: 1, 狂神, 1, 天王盖地虎, 111<== Row: 1, 狂神, 2, 小波, 123<== Row: 1, 狂神, 3, 雷神, 922<== Row: 1, 狂神, 5, 马儿扎哈, 123<== Total: 4Teacher(tId=1, tName=狂神, students=[Student(id=1, tid=1, name=天王盖地虎, password=111), Student(id=2, tid=1, name=小波, password=123), Student(id=3, tid=1, name=雷神, password=922), Student(id=5, tid=1, name=马儿扎哈, password=123)])Resetting autocommit to true on JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@9d5509a]Closing JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@9d5509a]Returned connection 164974746 to pool.Process finished with exit code 0
第二种方式: 子查询
1接口
ListgetTeacher(int tid);
2 实现接口
3测试 同上
以上是"Mybatis的基础知识点"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
接口
数据
测试
配置
知识
实体
数据库
篇文章
基础
知识点
内容
方式
结果
雷神
马儿
天王
地虎
处理
不怎么
事务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
博彦科技互联网金融
互联网科技开发公司
互联网未来科技
鑫亿盛互联网科技
汇久创客互联网科技
互联网金融和金融科技
哈尔滨新华互联网科技
顺网科技2021年互联网排名
玖二柒互联网科技公司待遇
世界互联网科技公司市值排名
乌苏新华互联网科技做什么的
互联网新科技动漫ppt素材
世界互联网领先科技成果获奖
群盈汇互联网科技有限公司
皮皮虾互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
昆明中奇联合互联网科技
互联网界的黑科技
山东亿川互联网科技有限责任公司
重庆互联网络科技
奇酷互联网科技公司
深圳互联网科技怎么样
小米互联网科技园设置
顶级互联网科技成果有哪些
来此购互联网科技有限公司
互联网科技如何创业
中国科技和美国互联网
互联网高科技绘画
颐高云石互联网科技