MyBatis
文章平均质量分 61
MyBatis是一流的持久性框架,支持自定义SQL,存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码以及参数的手动设置和结果检索。MyBatis可以使用简单的XML或注释进行配置,并将图元,映射接口和Java POJO(普通的旧Java对象)映射到数据库记录。
beyond_csdn
这个作者很懒,什么都没留下…
展开
-
缓存_02
1、缓存原理测试:import com.beyond.dao.UserMapper;import com.beyond.pojo.User;import com.beyond.utils.MyBatisUtil;import org.apache.ibatis.session.SqlSession;import org.junit.Test;public class MyTest { @Test public void getUserById(){ SqlS转载 2021-03-13 21:22:51 · 52 阅读 · 0 评论 -
缓存_01
1、简介什么是缓存【Cache】?存在内存中的临时数据;将用户经常查询的数据放在缓存(内存)中,用户再次查询数据时就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使用缓存?经常查询并且不经常改变的数据。2、MyBatis缓存MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大地提升查询效率。转载 2021-03-13 21:22:00 · 61 阅读 · 0 评论 -
动态SQL_02
1、choose (when, otherwise)编写Mapper接口和Mapper.xml文件;package com.beyond.dao;import com.beyond.pojo.Blog;import java.util.List;import java.util.Map;public interface BlogMapper { //查询博客 List<Blog> queryBlogChoose(Map map);}<?xml v转载 2021-03-10 19:07:53 · 66 阅读 · 2 评论 -
动态SQL_01
1、简介动态SQL就是指根据不同的条件生成不同的SQL语句,我们可以在SQL层面,去执行一个逻辑代码。动态SQL就是在拼接SQL语句,我们只要保证SQL的正确性,按照SQL的格式,去排列组合就可以了。ifchoose (when, otherwise)trim (where, set)foreach2、搭建环境1、SQLcreate table `blog`( `id` varchar(50) not null comment '博客id', `转载 2021-03-10 19:03:07 · 53 阅读 · 0 评论 -
一对多处理
1、测试环境搭建导入Lombokjar包;<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId>转载 2021-03-09 20:43:28 · 76 阅读 · 0 评论 -
多对一的处理
例如:对于学生而言,多个学生关联一个老师【多对一】;对于老师而言,一个老师集合很多学生【一对多】。SQL:CREATE 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,'秦老师');CREATE .转载 2021-03-09 20:40:40 · 107 阅读 · 0 评论 -
Lombok
1、简介Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而为您的Java增光添彩。永远不要再写另一个getter或equals方法,带有一个注释的您的类有一个功能全面的生成器,自动化您的日志记录变量等等。Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals() 这样的方法以及以转载 2021-03-08 21:51:07 · 119 阅读 · 0 评论 -
使用注解开发的CRUD(增删改查)
我们可以在工具类创建的时候实现自动提交事务public static SqlSession getSqlSession(){ //设置自动提交事务为true return sqlSessionFactory.openSession(true);}关于@Param()注解基本类型的参数或者String类型,需要使用该注解;引用类型不使用该注解;如果只有一个基本类型的话,可以忽略,但是建议加上该注解;我们在SQL中引用的就是@Param()中设定的属性名。#{}与${}的区转载 2021-03-08 21:44:08 · 144 阅读 · 0 评论 -
使用注解开发(重点)
1、面向接口编程1、为什么要面向接口编程?根本原因:解耦、可扩展、提高复用,分层开发中,上层不用管具体的实现,大家都遵守共同的标准,是的开发变得更容易,规范性更好。在一个面向对象的系统中,系统的各种功能是有许许多多的不同对象协调完成的。在这种情况下,各个对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则称为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程转载 2021-03-08 21:41:13 · 58 阅读 · 0 评论 -
分页
思考:为什么要分页?减少数据的处理量1、使用limit分页(推荐)limit子句用于限制查询结果返回的数量。用法:【select * from tableName limit i,n 】参数:tableName : 为数据表;i : 为查询结果的索引值(默认从0开始);n : 为查询结果返回的数量.使用mybatis实现分页接口;//分页 List<User> getUserByLimit(Map<String,Integer> map);转载 2021-03-05 22:11:18 · 69 阅读 · 0 评论 -
日志
1、日志工厂如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手。SLF4JLOG4J【掌握】LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING【掌握】NO_LOGGING在Mybatis中具体使用那一个日志实现,在设置中设定。STDOUT_LOGGING标准日志输出在mybatis核心配置文件中,配置我们的日志<settings> <setting name="logImpl" value转载 2021-03-05 22:07:39 · 71 阅读 · 0 评论 -
解决属性名和字段名不一致的问题
1、问题数据库中的字段:新建一个项目,拷贝之前的,测试实体类字段不一致的情况;//实体类public class User { private int id; private String name; private String password;测试出现问题:select * from mybatis.user where id=#{id}相当于select id,name,pwd from mybatis.user where id=#{id}2、解决方法转载 2021-03-05 22:02:44 · 407 阅读 · 0 评论 -
配置解析
1、核心配置文件(mybatis-config.xml)MyBatis配置包含对MyBatis的行为产生巨大影响的设置和属性。该文档的高级结构如下:configuration(配置)properties(特性,属性)settings(设置)typeAliases(类型别名)typeHandlersobjectFactorypluginsenvironments(环境)environmenttransactionManagerdataSource(数据源)databas转载 2021-03-03 19:16:55 · 166 阅读 · 2 评论 -
模糊查询
Dao接口;//模糊查询 List<User> getUserLike(String value);接口实现类(由原来的UserDaoImpl转变为一个Mapper.xml配置文件);<select id="getUserLike" resultType="com.beyond.pojo.User"> select * from user where name like #{value} </select>测试@T..转载 2021-03-03 19:08:58 · 141 阅读 · 2 评论 -
万能的Map(重点)
当我们的实体类、数据库中表的字段或者参数过多或者可以为空的时候,我们推荐使用Map1、add(insert)Dao接口;//insert一个用户,万能的Map void addUser2(Map<String,Object> map);接口实现类(由原来的UserDaoImpl转变为一个Mapper.xml配置文件);<!--传递map的key--> <insert id="addUser2" parameterType="map">转载 2021-03-03 19:05:48 · 242 阅读 · 2 评论 -
MyBatis实现CRUD(增删改查)
1、selectDao接口;//根据id查询用户 User getUserById(int id);接口实现类(由原来的UserDaoImpl转变为一个Mapper.xml配置文件);<select id="getUserById" parameterType="int" resultType="com.beyond.pojo.User"> select * from mybatis.user where id=#{id} </select转载 2021-03-03 19:03:32 · 70 阅读 · 1 评论 -
第一个MyBatis程序
思路:搭建环境——>导入依赖的jar包——>编写代码——>测试1、搭建环境搭建数据库CREATE DATABASE `mybatis`;USE `mybatis`;CREATE TABLE `user`( `id` INT(20) NOT NULL PRIMARY KEY, `name` VARCHAR(30) DEFAULT NULL, `pwd` VARCHAR(30) DEFAULT NULL)ENGINE=INNODB DEFAULT CHARSET=ut转载 2021-03-03 19:00:39 · 100 阅读 · 1 评论 -
MyBatis
1、什么是MyBatisMyBatis中文文档:https://mybatis.org/mybatis-3/MyBatis是一流的持久性框架,支持自定义SQL,存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码以及参数的手动设置和结果检索。MyBatis可以使用简单的XML或注释进行配置,并将图元,映射接口和Java POJO(普通的旧Java对象)映射到数据库记录。MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software fo转载 2021-03-03 18:57:35 · 97 阅读 · 1 评论