![](https://img-blog.csdnimg.cn/2019122619403981.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MyBatis
MyBatis
Chill_Lyn_
进化成更好的人。
展开
-
Mybatis Plus_指南
文章目录快速入门代码生成器CRUDinsertdelete、deleteByIdupdateById、updateselectOne、selectList、selectBatchIds、selectByMaporderBy、orderByLambdaSelectMaxIdGroupBy条件构造器普通查询eq带子查询(sql注入)inSql带嵌套查询nested、or、and、geisNotNullbetween模糊查询like、notLike、likeRight、likeLeft排序 orderByAsc分原创 2020-07-08 14:57:53 · 498 阅读 · 0 评论 -
Mybatis_SQL执行流程解析
文章目录主流程MapperProxy#invokeMapperMethod#executeDefaultSqlSession#selectOneDefaultSqlSession#selectListCachingExecutor#queryBaseExecutor#queryBaseExecutor#queryFromDatabaseSimpleExecutor#doQuerySimpleExecutor#prepareStatement执行器ExecutorJDBC原生执行器StatementBaseE原创 2020-06-08 14:50:21 · 1236 阅读 · 2 评论 -
SpringBoot_数据访问 整合Druid、Mybatis、SpringData JPA(2.2.5 version)
文章目录SpringBoot与数据访问1. JDBC2. 整合Druid数据源3. 整合MyBatis4)注解版5)配置文件版4. 整合SpringData JPASpringBoot与数据访问1. JDBC<dependency> <groupId>org.springframework.boot</groupId> <artifactId&g...原创 2020-03-14 19:54:05 · 247 阅读 · 0 评论 -
Spring/SpringBoot_在控制台输出Mybatis sql日志
文章目录SpringSpringBootSpring在配置文件中添加设置项<settings> <setting name="logImpl" value="LOG4J"/></settings>SpringBootmybatis不使用xml配置文件的情况下,可以在application.yml文件中添加:mybatis: configur...原创 2020-03-14 17:41:48 · 1166 阅读 · 0 评论 -
Mybatis_设置数据库下划线字段名自动匹配JavaBean驼峰属性名
文章目录问题描述解决方法配置文件增加配置项配置类中增加配置方法问题描述数据库中字段名经常含有下划线,比如dept_no,dept_name等等,而在JavaBean中对应的属性通常是遵从驼峰命名原则,deptNo,deptName,这样在查询SQL中得到的结果就不能自动转换成Javabean对象。解决方法配置文件增加配置项<configuration> <sett...原创 2020-03-14 16:34:35 · 1597 阅读 · 0 评论 -
Mybatis_缓存
一级缓存默认开启在同一个sqlSession会话中,多次执行相同sql查询语句,只有第一次查询连接数据库,之后的查询直接读取第一次查询的缓存数据同一会话中的增删改操作会刷新缓存不同会话的增删改操作也会刷新缓存二级缓存默认关闭开启后在不同sqlSession会话中,多次执行相同sql查询语句,只有第一次查询连接数据库,之后的查询直接读取第一次查询的缓存数据Mappe...原创 2019-12-29 15:53:14 · 131 阅读 · 0 评论 -
Mybatis_懒加载
懒加载就是在查询过程中,返回resultMap中对应的collection或者association如果不需要第一时间使用所有记录的值,可以再后续使用到时再进行进一步的查询,减轻数据库查询负担,提高效率。<!-- 1.主查询语句,关联resultMap --><select id="select" resultMap="scmuserResultMap"> se...原创 2019-12-29 14:47:29 · 175 阅读 · 0 评论 -
Mybatis_设置主键自增后返回主键值
MySQL<!-- useGeneratedKeys="true" keyProperty 主键保存的属性名字 新增后主键 保存在了传入的 User对象的userId属性中了 --><insert id="insert" parameterType="user" useGeneratedKeys="true" keyProperty="userId"> ...原创 2019-12-29 13:59:01 · 298 阅读 · 0 评论 -
Mybatis_批量操作
批量删除int batchDel(int[] userIds);<delete id="batchDel"> <!-- delete from user where user_id in (?,?,?) --> delete from user where user_id in <!-- foreach 循环 动态生成sql ...原创 2019-12-29 13:07:31 · 159 阅读 · 0 评论 -
Mybatis_分页(pageHelper插件实现)
在pom.xml中添加pageHelper依赖<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --><dependency> <groupId>com.github.pagehelper</groupId> <artifac...原创 2019-12-29 11:58:42 · 143 阅读 · 0 评论 -
Mybatis_resultMap
resultMap主要用于查询一对多的关系条件下<select id="selectByPoid" parameterType="long" resultMap="pomainResultMap"> select p1.*, p2.num poitemnum, p3.* from pomain p1,poitem p2 ,produ...原创 2019-12-29 09:46:16 · 152 阅读 · 0 评论 -
Mybatis_动态SQL
where标签+if标签<select id="select" parameterType="java.util.Map" resultType="com.test.model.User"> select user_id userid, username, password, sex, createtime from u...原创 2019-12-28 22:23:58 · 125 阅读 · 0 评论 -
Mybatis_#{param}和${param}的区别
#{param} 生成的sql中将该参数使用?占位符替换,预编译后传入实际参数,使用PreparedStatement发送sql${param}生成sql中将该参数的值直接替换到该位置的,如果是字符串一定要添加’’使用${param}时,即使statementType使用PREPARED,也可能出现SQL注入建议使用statementType="PREPARED"和#{param}组合防止...原创 2019-12-28 21:59:05 · 271 阅读 · 0 评论 -
Mybatis_CRUD基础
首先在DAO层定义Mapper接口和对应的xml文件,接口中声明具体需要的方法,xml文件中写首先方法的语句。public interface UserMapper { //methods...}<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD...原创 2019-12-28 21:49:26 · 110 阅读 · 0 评论 -
Mybatis_eclipse中配置
创建一个Maven项目在pom.xml中添加mybatis的依赖(另外需要JDBC相关驱动包和log4j)<dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis...原创 2019-12-27 21:19:58 · 384 阅读 · 0 评论