JDBC 编程中的问题
1. 将 SQL 语句硬编码到 Java 代码,不利于系统维护。
设想如何解决:将SQL单独抽取出来,在配置文件(xml方式、properties文件)进行配置。
&
转载
2024-10-16 13:47:30
17阅读
用来循环容器的标签forEach,查看例子foreach元素的属性主要有item,index,collection,open,separator,close。item:集合中元素迭代时的别名,index:集合中元素迭代时的索引open:常用语where语句中,表示以什么开始,比如以'('开始separator:表示在每次进行迭代时的分隔符,close 常用语where语句中,表示以什么结束,在使用
转载
2024-06-06 12:07:45
51阅读
文章目录一、对应关系1、 一对一2、 一对多3、 多对多二、动态sql1、if 标签2、choose (when,otherwize)标签3、where 标签4、set 标签5、trim6、foreach三、sql片段 一、对应关系1、 一对一MyBatis中使用association标签来解决一对一的关联查询,javaType属性是指关联元素的对象类型。老师和学生。 从学生角度看:学生和老师是一
转载
2024-09-22 12:18:35
63阅读
写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、框架概述二、准备数据库信息三、从零开始搭建Mybatis开发环境1.创建 Maven 工程2.修改 pom
什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Acces
转载
2024-04-30 21:34:22
55阅读
MyBatis介绍MyBatis是一款优秀的持久层框架MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作官网:https://mybatis.org/mybatis-3/zh/#快速入门项目结构导入依赖pom.xml创建配置文件导入数据库连接创建dao、实体类 创建对应dao的xml文件位置:测试类<?xml version="1.0" encoding="UTF-8"
转载
2024-04-12 14:16:25
1382阅读
前言最近遇到的一个关于mybatis的xml条件判断的问题,平时写的都是以判断空属性是否为空,例如:<if test="type!=null and type !=''">
and status = 1
</if>所以在这一块并没有足够的重视。正文最近刚好要写一个与上边不一样的写法,但是还是以上面的为基础,是对属性的值进行判断: 判断type属性的值<
转载
2024-06-21 10:27:09
59阅读
一、从 MybatisAutoConfiguration 说开去,mapper 文件是怎么扫描的?我们知道配置 SqlSessionFactory 是我们集成 Mybatis 时需要用到的常客,SqlSessionFactory 顾名思义是用来创建 SqlSession 对象的,SqlSession 对象的重要程度不言而喻。源码中提到,SqlSession 是 Mybatis 运行最
转载
2024-06-24 20:05:18
186阅读
零、准备工作mysql mysql-connector-java 8.0.20 org.mybatis mybatis 3.5.5 org.projectlombok lombok 1.18.12 provided一、JDBC的复杂1、概述恶心的一批,缺点贼多我
目录
一、resultType1. 简单类型(掌握)2. 对象类型(掌握)3. Map(了解)二、resultMap(了解)三、实体类属性名和列名不同1. 使用resultMap2. 使用列别名和resultType四、模糊查询like1. 第一种2. 第二种五、总结1. resultType2. resultMap3. 列名和属性名不同4. like 一、resultTy
转载
2024-05-17 08:14:23
290阅读
导包 开发步骤: 创建PO(model)类,根据需求创建; 创建全局配置文件SqlMapConfig.xml; 编写映射文件; 加载映射文件,在SqlMapConfig.xml中进行加载; 编写测试程序,即编写Java代码,连接并操作数据库。创建PO类 在src下,创建SqlMapConfig.xml <?xml version="1.0" encoding="UT
看过之前的蜕变系列文章,相信你对mybatis有了初步的认识。但是这些还不够,我们今天进一步来了解下mybatis的一些用法。我们第一个程序存在很多问题,每一次操作,都需要读取配置文件、初始化mybati框架。这样搞出来的程序上就一个字——渣!这让我想起了多年以前,某个小伙伴告诉我spring的正确使用一样,每次方法都让spring框架重新初始化了一次。哈哈,知道你也在看的,又是一波回忆杀。在第一
转载
2024-03-30 10:07:47
90阅读
单元测试 junit测试 单元测试流程
一、Junit使用步骤:1、创建测试目录,(src、测试目录是test)2、在测试目录test中创建与src中相同的包名3、为需要测试的类创建测试类,例如:UsersMapper,测试类是UsersMapperTest4、为被测试类(UsersMapper)中的需要测试的方法在测试类型创建相应的方法。比
转载
2024-01-30 01:40:05
179阅读
到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层。但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的。本文,我们将从逻辑分页,物理分页两种情况出发,分别介绍这两种方式。马上开始我们的正文部分吧。准备工作: a.操作系统 :win7 x64b.基本软件:MySQL,Mybatis,SQLyog ------------------------------
转载
2024-08-14 16:48:19
67阅读
不知道你有没有遇到这种情况,在一个的数据列表中,我们需要对某些数据按条件进行检索,你是否在服务器端里面都要获取条件,并且判断第一个条件是否为空,如果不为空则继续判断第二个条件用户有没有选择,不为空则再继续判断第三个条件是否为空,为空则要写第三个条件的else代码,而且也要写第一和第二条件为空的else语句。并且为其创建对应的业务接口方法及业务实
转载
2024-06-12 21:58:14
3879阅读
概述 mybatis使用xml过程中我们经常会遇到要进行动态sql的判断,如使用if标签和choose标签中的when标签,都会遇到test条件判断,test的条件判断采用的ognl语句。 我遇到的坑是这样的:<select id="myFunction">
select * from student where 1=1
<if test="status!=n
转载
2024-05-22 18:22:44
13阅读
1. Mybatis下载MyBatis 的版本可以通过"https://github.com/mybatis/mybatis-3/releases"网址下载。本篇使用 mybatis-3.3.0.zip(可根据需要自行下载)。MySQL驱动Jar包下载:https://github.com/mysql/mysql-connector-j。2. Mybatis概述Mybatis是一款优秀的基于Jav
转载
2024-04-03 16:27:47
160阅读
动态SQL基于OGNL表达式——xml1. if元素(最简单的判断)2. where、if元素(一般用于多个where条件判断)3. set、if元素(一般用于有几个元素需要修改就只修改哪几个元素)4.trim元素(一般比较通用)5. choose、when、otherwise元素(用于挑选查询条件)6. foreach元素(一般用于遍历元素,常见in的后面)基于注解@SelectProvide
利用MyBatis实现CRUD一、查询表记录1.修改UserMapper.xml2.运行测试类testFindAll()3.添加按姓名查询用户记录功能(1)在UserMapper.xmlt添加映射语句-findByName(2)在UserMapper接口里添加findByName()方法(3)在测试类-TestUserMapper里添加测试-testFindByName(4)运行测试testFi
写在前面由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决,有的是把问题留在项目的issue里提出,有的是在我的私人博客里留言,还有的则是直接来找我讲自己遇到的问题,有些问题比较简单直接就解决了,有些问题的解决记录也留在issue记录里,有些则是网上有相关教程,而剩下问题的解决方案,如果时间允许我都会单独的做一篇博客来解答。问题描述当时的聊天记录:截图中提到的代码(