Mybatis的基础知识点
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下Mybatis的基础知识点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mybatismybatis-c
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
玖思互联网科技有限公司
高校租用服务器
铜川网络技术调试
新疆网络安全与信息化
网银数据库安全吗
数据库中外模式有哪些
深圳兴艺网络技术有限公司
管家婆数据库登陆不上
饥荒服务器mod管理
什么描述数据库的全局逻辑结构
成都电信 dns服务器
手机软件开发的技术培训
360天擎网络安全软件
天人网络安全工程师
网络交换机无法连接到服务器
速达软件数据库是什么
戴尔服务器进raid
人工智能企业数据库系统的目的
软件开发公司平顶山
ipad建账户服务器出错
竞技科技网络技术有限公司
安恒信息网络安全人才
网络技术主要涉及哪三个方面
网络安全技术及应用第四版pdf
金融知识以及网络安全知识
产品规划软件开发
更改服务器本地安全策略
如何给数据库添加索引
青州网络安全大队
数据库连接多个表