mybatis
文章平均质量分 77
鸠叁
这个作者很懒,什么都没留下…
展开
-
【mybatis---6MyBatis动态代理运行】
一、mybatis的运行流程我们知道使用mybatis的时候,一般是一个接口对应一个xml文件,那么我们的mybatis是怎样通过这个接口来调用并且xml当中的方法的呢?下面我么简单的说一下mybatis的工作流程1.项目启动时根据xml文件路径读取所有的xml信息,到map中存储,map的key可以定义为类名+方法名。2.编写代理类,代理类负责根据被代理的类名+方法名,读取对应的sql配置,然后根据入参,拼接解析出完整sql,然后交给jdbc去执行,最后将返回数据转换成接口返回值的对象做返回。3原创 2022-04-15 16:54:40 · 49 阅读 · 0 评论 -
【mybatis---7mybatis事务和缓存】
一、事务存在的意义1.事务是什么?多个操作同时进行,那么同时成功,那么同时失败。这就是事务。事务有四个特性:一致性、持久性、原子性、隔离性比如有一个订单业务1.订单表当中添加一条记录2.商品数量数据更新(减少)3…当多个任务同时进行操作的时候,这些任务只能同时成功,或者同时失败。2.Mybatis关于事务的管理MyBatis框架中的事务默认是手动提交的,也就是每次编写程序都需要调用commit()方法提交事务<transactionManager type="JDBC">&原创 2022-04-15 17:00:48 · 210 阅读 · 0 评论 -
【mybatis---5MyBatis注解开发】
MyBatis注解开发注解方式比较简单,但是实际开发不推荐使用注解,使用配置文件的方式,不需要改源代码。@Insert:添加@Update:修改@Delete:删除@Select:查询@Result:实现结果集封装@Results:可以和@Result一起使用,封装多个结果集@One:实现一对一和多对一的结果集封装@Many:实现一对多结果级封装一、使用注解完成CRUDSqlMapConfig.xml配置文件` <!--第二种方式:针对com.qcby.dao原创 2022-04-15 16:52:57 · 458 阅读 · 0 评论 -
【mybatis---3mybatis动态SQL】
一、动态sql的简述什么是动态sql:在不同条件下拼接不同的sqlMybatis框架的动态sql技术是一种根据特定条件动态拼接SQl语句的功能,他存在的意义是为了解决拼接SQL语句字符串时的痛点问题。比如我们在用淘宝之类的软件在进行商品属性选择的时候,我们会发现我们可以选择的商品的属性有很多条件,其中一些条件可以选择也可以不选择,那么如果使用传统的方式进行查询,反而在拼接sql的时候会造成一些列的问题。二、动态sql的使用案例标签—(讲课注意:username和sex必须一个为空)根据 u...原创 2022-04-15 16:10:09 · 635 阅读 · 0 评论 -
【mybatis---2增删改查】
第一章:代理Dao方式的CRUD操作代理Dao方式的增删改查创建项目UserDao接口代码`import com.qcby.entity.User;import java.util.List;public interface UserDao {/*** 全部查询* @return*/public List findAll();/** * 根据id进行查询 * @param id */public User findById(int id);/** * 插入数据原创 2022-04-15 16:04:50 · 196 阅读 · 0 评论 -
【mybatyis---1配置mybatis】
第一章:框架的概述JDBC存在的问题我们要想研究mybatis就必须知道jdbc所存在的问题,那我那么我们首先来复习一下jdbc操作数据库的大致流程1.加载数据库驱动 2.创建并获取数据库连接对象connection 3.通过连接对象获取会话对象statement 4.编写sql语句 5.如果有参数的话需要通过Statement设置参数 5.执行sql语句并获取结果 6.关闭资源上述是最原始的JDBC操作数据库的方式,有以下问题:数据库连接的频繁创建、释放浪费资源进而影响系统性能。sql代码写在原创 2022-04-15 15:57:35 · 100 阅读 · 0 评论 -
【mybatis---4mybatis关联映射】
关联映射一、创建表结构1.学生表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for student-- ----------------------------DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREM原创 2022-04-15 16:17:59 · 764 阅读 · 0 评论