![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis框架二刷
文章平均质量分 53
Mybatis框架二刷
Wyatt_zhai
保持好奇,终身学习!
展开
-
二刷Mybatis (七) 日志
这里我们从Mybatis的官网了解日志的情况1 STDOUT_LOGGING在setting设置直接使用(不需要导包)2 log4j配置log4j信息,创建文件名称要写对 log4j.properities配置依赖设置核心文件配置log4j信息# 此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名log4j.rootLogger = DUBUG,console,file### 输出信息到控制台 ###.原创 2022-03-08 22:29:29 · 91 阅读 · 0 评论 -
二刷Mybatis(十一)动态SQL
引言Q:为何使用动态SQL?A:举例:正常情况下具有多个限制条件的语句是这样的(查询全班学生名字如果人数等于20人,且如果男生大于女生人数.....)为了简化这种情况带来的复杂语句编写1 搭建动态sql环境2 标签2.1 if目的:没有指明查询什么数据的时候全部查出来;当指明需要查询某作者,某标题也可以查到对应的数据;select * from blog where auther=#{auther} and title=#{title}//但是这样显然不可以满足上述两个条原创 2022-03-14 17:36:04 · 2006 阅读 · 0 评论 -
二刷Mybatis(九)注解开发
前面我们了解到:实现一个sql功能离不开实体类的xml文件,还有一种办法不使用xml文件也可以实现sql功能——注解目录标题1 使用注解2 绑定核心配置文件3 测试4 增删改查4.1 查4.2 增4.3 改4.4 删5 SUM1 使用注解2 绑定核心配置文件3 测试应用理解:可以看到测试后,密码无法查到,因为字段名和属性名不一致在mybatis里面,注解可以解决简单的sql任务,复杂的就不可以胜任,还是要xml解决4 增删改查4.1 查使用@param注意事项:参数.原创 2022-03-12 19:37:35 · 463 阅读 · 0 评论 -
二刷Mybatis(四)配置优化
1 数据库配置优化目的是将数据库的连接信息独立出来管理,数据库多时就方便处理1.1 方法一1.2 方法二2 别名类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写2.1 指定实体类的位置2.2 指定包名指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean2.3 注解3 映射器每一个Mapper.xml都需要在pom文件注册三种方式绑定实体类的xml文件这里注意:User原创 2022-03-08 16:17:05 · 310 阅读 · 0 评论 -
二刷Mybatis(十)复杂查询(多对一,一对多)
真实情况中,我们处理的是数据库多个表关联查询的任务,如何处理种业务有助于进一步理解Mybatis的应用1 搭建环境1.1 实体类pojo学生和老师:学生关联老师1.2 接口1.3 接口的配置文件1.4 核心配置文件绑定xml1.5 测试2 多对一的处理 association多个学生对应一个老师2.1 未关联Student和Teacher的查询分析:Q:为什么查不出来教师的信息?A:因为学生的实体类的属性名 Teacher 和实体类的字段名 tid 不一.原创 2022-03-13 21:33:03 · 1314 阅读 · 0 评论 -
二刷Mybatis (六) ResultMap结果集映射
属性名和字段名不一致的时候,导致无法获取对应的値,如下图案例所示目录1.1 方法一:起别名1.2 方法二:resultMap1.1 方法一:起别名1.2 方法二:resultMap代码细节分析<resultMap id = "cargo" type="cargo"> <id property="cargoId" column="cargo_id"/> //此处的id表示是主键。result表示是一般属性 &.原创 2022-03-08 18:44:41 · 408 阅读 · 0 评论 -
二刷Myabits(五)SqlSessionFactoryBuilder
了解一下在Mybaits中的工厂模式(官网指导)SqlSessionFactoryBuilder:mybatis封装好的,我们只需要调用--导入核心配置文件 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFa.原创 2022-03-08 16:40:19 · 117 阅读 · 0 评论 -
Mybatis部分细节问题思考
1 resultType和parameterType举例1<select id="SelectBlogWhere" parameterType="map" resultType="Blog"> select * from blog</select>此处的parameterType 指:自定义方法selectAllWebsite返回的类型是map此处的resultType指:实体类所在的包目录实际上写select语句的时候,paramterType原创 2022-03-22 22:49:32 · 789 阅读 · 0 评论 -
二刷Mybatis(二)增删改查
增删改查1 接口UserMapper内定义方法2 UserMapper.xml写sql3 测试4 总结思考:int insertUser(User user);int deleteUser(int id); 增加删除的时候定义 为何类型是int类型?对增删改查的基本流程比较熟悉起来,可独立编写,但对于语法的理解不成熟,不可全阐述清楚具体的细节...原创 2022-03-03 20:09:10 · 141 阅读 · 0 评论 -
二刷Mybatis(一)搭建环境和测试
搭建环境和测试1 搭建环境1.1 创建数据库1.2 创建Maven项目1.3 导入pom依赖1.4 连接数据库1.5 获取SqlSessionFactory(自己封装一个工具包)2 查询2.1 创建user实体类2.2 创建接口UserMapper2.3 创建接口的映射文件UserMapper.xml2.4 测试2.5 完整目录总结第一次体验过后mybatis的整体框架,二刷希望对框架的细节和原理更深入了解,也是本次bolg的重点环境:sqlyog 8.0.23ideajdk1.8(系统默认原创 2022-03-03 16:18:05 · 324 阅读 · 1 评论 -
二刷Mybatis(八)limit分页查询和RowBounds分页
当数据库查询数据较多时,需要将结果集分页,比如每页3条记录。要获取第1页的记录1 Limit1.1 接口使用map的原因:使用 limit 要传入参数,传入参数要考虑:参数个数一致,参数名称一致等问题使用map这不需要考虑1.2 sql如下图所示,使用map之后就可以自定义参数名称,不需要和数据库字段名一致分页查询的语法:pageSize:每页显示的数据数 startIndex:从第几行开始(起始为0)使用resultMap:因为数据库字段名和实体类属性不一致1.原创 2022-03-09 17:19:23 · 902 阅读 · 0 评论 -
二刷Mybatis(十二)缓存Cache
每次连接数据池,会消耗一定的资源,缓存就可以临时保存一些读取信息,减少访问频次。缓存的内存也不是无线多的,有一定的容量需要及时清理,清理的方案有4种一级缓存默认开启的,存在于一个sqlSession的区间段内,不需要手动设置但是为了代码规范,需要在xml文档说明案例一:查询时候的缓存案例二:增删改操作,改变了原来的数据,会刷新缓存!案例三:手动清理缓存 sqlsession.clearCache()二级缓存理解使用手册还可以自己设置更详细的参数如.原创 2022-03-14 22:31:11 · 511 阅读 · 0 评论 -
二刷Mybatis (三)Map和模糊查询
一般的方法insert数据的时候,所有属性全部得输入 而map这可以选择插入,修改个别数据,不用对总体全操作1.1 接口UserMapper定义方法1.2 UserMapper.xml写sqluser有三个属性(id,name,psw)使用map可以只操作(id,name)不用操作psw1.3 测试2 模糊查询2.1 定义模糊查询的方法2.2 写sql方法二:此方法会引起sql注入,引发安全性问题,不建议使用select * from user where name.原创 2022-03-03 21:27:28 · 76 阅读 · 0 评论