mybatis
文章平均质量分 85
♆ Orchid ♆
这个作者很懒,什么都没留下…
展开
-
MyBatis-Plus
文章目录一、简介二、快速入门三、安装四、配置五、主键生成策略六、自动填充七、逻辑删除八、分页九、代码生成器十、CRUD接口十一、条件构造器一、简介开发文档MP是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发,提高效率而生二、快速入门在官方入门案例上进行了修改前置条件:拥有 Java 开发环境以及相应 IDE熟悉 Spring Boot熟悉 Maven现有一张 User 表,其表结构如下:其对应的数据库 Schema 脚本如下:DROP T原创 2020-11-30 19:37:55 · 581 阅读 · 1 评论 -
Mybatis开发(XML、Annotation)
1.基于XML2.基于注解原创 2020-10-18 14:16:57 · 148 阅读 · 0 评论 -
12、MyBatis架构
原创 2020-01-20 17:37:34 · 93 阅读 · 0 评论 -
11、多环境切换、注解方式、增删改返回值、事务自动提交、自增、参数、null、HashMap、ResultMap、别名、sql标签、内置参数、模糊查询
1.数据库环境切换(驱动jar)a、切换environment//db.properties#oracleoracle.driver=oracle.jdbc.OracleDriveroracle.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCLoracle.username=rootoracle.password=123456#mysqlmys...原创 2020-01-18 21:53:54 · 242 阅读 · 0 评论 -
10、逆向工程
逆向工程表、类、接口、mapper.xml四者密切相关,因此当知道一个的时候其他三个应该可以自动生成。表 --> 其他三个实现步骤:a、导包mybatis-generator-core.jarmybatis.jarmysql.jarb、配置逆向工程的配置文件generator.xml<?xml version="1.0" encoding="UTF-8"?>&...原创 2020-01-18 20:24:47 · 196 阅读 · 0 评论 -
9、查询缓存
查询缓存一级缓存:同一个SqlSession对象MyBatis默认开启一级缓存,如果用同样的SqlSession对象查询相同的数据,则只会在第一次查询时向数据库发送SQL语句,并将查询结果放入SqlSession中,后续再次查询该同样的对象时,则直接从缓存中查询该对象即可(即省略了数据库的访问)二级缓存1.mybatis自带二级缓存:同一个namespace生成的mapper对象my...原创 2020-01-18 17:58:12 · 144 阅读 · 0 评论 -
8、MyBatis整合Log4j和延迟加载
日志:Log4j1.配置jar包Log4j:log4j.jar(在mybatis.zip中lib)2.开启日志://在config.xml<settings> <!-- 开启日志,并指定使用的具体日志 --> <setting name="logImpl" value="LOG4J"/></settings>如果不指定,m...原创 2020-01-16 21:36:28 · 131 阅读 · 0 评论 -
7、关联查询
关联查询一对一、一对多、多对一、多对多MyBatis:多对一、多对多的本质就是一对多的变化一对一a、业务扩展类新建一个c类,继承类属性多的a类,然后在c类里面加入b类的属性,则c类拥有a、b类的属性,即业务扩展类<select id="queryPersonByIdWithOneToOne" parameterType="int" resultType="c"> sele...原创 2020-01-16 19:49:55 · 119 阅读 · 0 评论 -
6、动态SQL
if<!-- resultType为HashMap --><!-- 别名作为map的key --> <!-- 动态SQL --><!-- 在where后面加1=1或者使用<where>标签解决and问题,<where>标签会自动处理第一个and --><select id="queryAllPersonByN...原创 2020-01-16 11:42:34 · 93 阅读 · 0 评论 -
5、输出参数resultType
输出参数resultType1.简单类型(8个基本类型+String)2.对象类型3.集合类型正确写法:resultType="Person"错误写法:resultType="List<Person>"4.HashMap<!-- resultType为HashMap --><!-- 别名作为map的key --><select i...原创 2020-01-15 21:43:44 · 143 阅读 · 0 评论 -
4、MyBatis调用存储过程执行CRUD
mybatis调用存储过程mysql存储过程的输入参数名和字段名不能一样存储过程无论输入参数是什么值,语法上都需要用map来传递该值只要是<transactionManager type="JDBC" />,则增删改都需要手工commit(提交事务)//Mysql创建存储过程mysql> DELIMITER //mysql> create procedure q...原创 2020-01-15 20:52:07 · 161 阅读 · 0 评论 -
3、输入参数:parameterType
输出参数:parameterType1.类型为 简单类型(8个基本类型+String)#{任意值}${value},其中的标识符只能是value#{}自动给String类型加上单引号(自动类型转换)${}原样输出,但是适合于动态排序(动态字段)select * from Person where name = #{id}select * from Person where name ...原创 2020-01-15 16:03:44 · 531 阅读 · 0 评论 -
2、类型转换器
类型处理器1.mybatis自带一些常见的类型处理器2.自定义mybatis类型处理器java – 数据库(jdbc类型)示例:实体类Student:boolean stuSex true:男 false:女表student:number stuSex 1:男 0:女自定义类型转换器(boolean -- number...原创 2020-01-15 14:10:42 · 167 阅读 · 0 评论 -
1、mybatis的两种CRUD
1.mybatis概述1.1、mybatis简介MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和java的POJO映射成数据库中的记录。1.2、mybatis历史原是Apache的一个开源项目ibatis,2010年6月这...原创 2020-01-14 12:40:37 · 217 阅读 · 0 评论