![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
文章平均质量分 56
MyLight1109
这个作者很懒,什么都没留下…
展开
-
[Mybatis]12.缓存
1.简介查询 : 连接数据库 , 耗资源! 一次查询的结果,让他暂存在一个可以直接取到的地方! -->内存 : 缓存我们再次查询相同的数据时,就直接走缓存,不走数据库了。2.一级缓存测试步骤:1.开启日志2.测试在与一个Session中查询两次相同的记录3.查看日志输出缓存失效的情况:1.查询不同的东西2.增删改操作,可能会改变原来的数据,所以一定会刷新缓存!3.查询不同的Mapper.xml4.手动清理缓存一级缓存就是一个map。sqlSession.clear原创 2021-09-13 18:25:22 · 61 阅读 · 0 评论 -
[Mybatis]11.动态sql
什么动态sql?指的是:根据不同的条件生成的不同sql语句动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。ifchoose (when, otherwise)trim (where, set)foreach搭建测试环境创建一张表CREATE TABLE `blog`(`id`原创 2021-09-13 15:56:32 · 58 阅读 · 0 评论 -
[Mybatis]10.多对一和一对多
多个学生对应一个老师对于学生而言,(关联)多个学生关联一个老师对于老师而言,(集合)一个老师有很多学生SQLCREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '秦老师')..原创 2021-09-12 17:27:21 · 77 阅读 · 0 评论 -
[Mybatis]9.Lombok的使用
使用步骤1.在IDEA中安装Lombok插件2.在项目中导入Lombok的jar包3.在实体类上加注解@Getter and @Setter@FieldNameConstants@ToString@EqualsAndHashCode@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog,原创 2021-09-06 16:12:23 · 101 阅读 · 0 评论 -
[Mybatis]8.使用注解开发
简单使用1.注解直接在接口上实现 @Select("select * from user") List<User> getUsers();2.需要在核心配置文件中绑定接口<!-- 绑定接口--> <mappers> <mapper class="com.hui.dao.UserMapper"/> </mappers>3.测试本质:反射机制实现底层:动态代理CRUD实现原创 2021-09-06 15:58:47 · 51 阅读 · 0 评论 -
[Mybatis]7.分页
思考:为什么要分页?减少数据的处理量使用Limit分页select * from user limit startIndex,pageSize使用Mybatis实现分页,核心是SQL1.接口 //分页 List<User> getUserByLimit(Map<String,Integer> map);2.Mapper.xml <select id="getUserByLimit" parameterType="map" result原创 2021-09-05 16:21:43 · 58 阅读 · 0 评论 -
[Mybatis]6.日志(log4j)
1.日志工厂如果一个数据库操作出现了异常,我们需要排除错误,日志就是最好的助手!曾经:sout,debug现在:日志工厂SLF4JLOG4J (掌握)LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING (掌握)NO_LOGGING在mybatis中具体使用哪一个日志实现,在设置中设定STDOUT_LOGGING*是标准日志输出 <settings> <setting name="logImpl"原创 2021-09-05 15:56:28 · 60 阅读 · 0 评论 -
[Mybatis]5.ResultMap结果集映射
解决属性名和字段名不一致的问题1.问题数据库中的字段新建一个项目,拷贝之前的,测试实体类字段不一致的情况因为数据库中密码的字段为pwd,而在实体类中为password, private int id; private String name; private String password;此时,我们用查询一条记录,会发现password字段的值为null!解决方法:一种为起别名 <select id="getUserById" parameterT原创 2021-09-05 15:16:20 · 94 阅读 · 0 评论 -
[Mybatis]4.配置解析
1.核心配置文件mybatis-config.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)databas原创 2021-09-04 21:39:48 · 74 阅读 · 0 评论 -
[Mybatis]3.万能Map和模糊查询拓展
1.万能Map假设我们的实体类或者数据库中的表,它们的字段或者参数过多,我们应该考虑使用Map!接口 //万能Map int addUser2(Map<String,Object> userMap);实现类 <insert id="addUser2" parameterType="map"> insert into mybatis.user (id,name) values (#{id},#{name}) </insert原创 2021-09-04 20:14:14 · 83 阅读 · 0 评论 -
[Mybatis]2.增删改查实现
1.namespacenamespace中的包名要和Dao/Mapper接口的包名一致2.select选择,查询语句:id: namespace中的方法名resultType: sql语句的返回值parameterType: 参数类型1.编写接口 //查询全部用户 List<User> getUserList();2.编写对应的mapper中的sql语句 <select id="getUserList" resultType="com.hui.原创 2021-09-04 19:39:35 · 51 阅读 · 0 评论 -
[Mybatis]1.初识Mybatis
1.什么是Mybatius?MyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software found.原创 2021-09-04 16:13:09 · 114 阅读 · 0 评论