Mybatis-动态SQL
在 Structs 流行的时代 OGNL 可是必会的数据渲染技术。它全称 Object Graph Navigation Language,作用是降低对数据层访问的难度,它拥有类型转换、访问对象方法、操作集合对象等功能。目前已经很少通过 OGNL 来访问数据层了,目前国内大部分的 ORM 框架是 Mybatis,而 Mybatis 中的动态 SQL 技术运用了 OGNL。
Mybatis 中的 OGNL不少人在 Mybatis 的 Mapper 文件中写过这样的判断:
123<if test="field!='' and field!= null"> and some_col = #{field}</if>
当 field 不为空字符并且不为 null 的情况下增加一个查询条件。其中 test 就是一个 OGNL 表达式。Mybatis 中的 OGNL 表达式主要有两种用途。
条件断言这种是最常用的。执行动态 SQL 的条件断言,常用的有这些表达式:
b1 or b2 条件 或
b1 and b2 条件 与
!b1 取反,也可以写作 not b1
b1 = ...
MySQL基础入门
下面是根据开源项目 21分钟MySQL基础入门 做的学习笔记
W3SCHOOL上的教程链接
开始使用MySQL版本: Server version: 8.0.20 MySQL Community Server - GPL
MySQL为关系型数据库,一个关系型数据库是由一个或数个表格组成,如下图:))
表头: 每一列的名称;
列(col): 具有相同数据类型的数据的集合
行(row) : 每一行用来描述某个人/物的具体信息;
值(value) : 行的具体信息, 每个值必须与该列的数据类型相同;
键(key) : 表中用来识别某个特定的人\物的方法, 键的值在当前列中具有唯一性。
登录MySQL在cmd中输入:mysql -h 主机名 -u 用户名 -p参数说明:
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果登录本机的MySQL数据库,只需要输入:mysql -u r ...
JDBC核心技术
此笔记是观看 此视频 做的笔记,供学习参考用。
第1章:JDBC概述1.1 数据的持久化
持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。
持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。
1.2 Java中的数据存储技术
在Java中,数据库存取技术可分为如下几类:
JDBC直接访问数据库
JDO (Java Data Object )技术
第三方O/R工具,如Hibernate, Mybatis 等
JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。
1.3 JDBC介绍
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql, ...