摘要:
set - 更新语句 当 update 语句中没有使用 if 标签时,如果有一个参数为 null,都会导致错误。 当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的配置 SET 关键字,并剔除追加到条件末尾的任何不相关的逗号。使用 if 阅读全文
摘要:
Mybatis if 标签可用在许多类型的 SQL 语句中,我们以查询为例。首先看一个很普通的查询: 但是当 username 或 sex 为 null 时,此语句很可能报错或查询结果为空。此时我们使用 if 动态 sql 语句先进行判断,如果值为 null 或等于空字符串,我们就不进行此条件的判断 阅读全文
摘要:
搞清楚什么是分页(pagination) 例如,在数据库的某个表里有1000条数据,我们每次只显示100条数据,在第1页显示第0到第99条,在第2页显示第100到199条,依次类推,这就是分页。 分页可以分为逻辑分页和物理分页。逻辑分页是我们的程序在显示每页的数据时,首先查询得到表中的1000条数据 阅读全文
摘要:
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 通常使用动态 SQL 不可能是 阅读全文
摘要:
前面几篇文章已经讲到了mybatis与spring 的集成。目前主流的Web MVC框架,除了Struts这个主力外,还有Spring MVC,主要是由于 Spring MVC 配置比较简单,使用起来也十分明了,非常灵活,与Spring 集成较好,对 RESTful API 的支持也比 struts 阅读全文
摘要:
在前面的教程文章中,前面讲到有关 mybatis 连接数据库,然后进行进行数据增删改查,以及多表联合查询的例子,但很多的项目中,通常会用 spring 这个粘合剂来管理 datasource 等。充分利用 spring 基于接口的编程,以及aop ,ioc 带来的方便。用 spring 来管理 my 阅读全文
摘要:
在上章的 一对多 中,我们已经学习如何在 Mybatis 中关联多表,但在实际项目中也是经常使用 多对一 的情况,这些查询是如何处理的呢,在这一节中我们来学习它。多表映射的多对一关系要用到 mybitis 的 association 来加以实现。这篇介绍的是多表中的多对一表关联查询。 应用场景:首先 阅读全文
摘要:
在前面的章节中,我们学习了一对多,多对一的关系,现在我们来看看 Mybatis 中的多对多应用。 mybatis3.0 添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除操作。因此在进行实体类多对多映射表设 阅读全文
摘要:
有了前面几章的基础,对一些简单的应用是可以处理的,但在实际项目中,经常是关联表的查询,比如:最常见到的多对一,一对多等。这些查询是如何处理的呢,这一讲就讲这个问题。前面几篇教程中介绍的都是单表映射的一些操作,然而在我们的实际项目中往往是用到多表映射。在Java实体对象对中,一对多可以根据List和S 阅读全文
摘要:
前面的小节我们已经讲到用接口的方式编程。使用这种方式,需要注意的一个地方就是,在User.xml 配置文件中,mapper namespace="com.yiibai.mybatis.inter.IUser" ,命名空间对应非常重要,名称不能有错,必须与我们定义的 package 和 接口一致。如果 阅读全文
摘要:
在上一章中,我们已经搭建了 myeclipse,mybatis,mysql 的开发环境,并且实现了 mybatis 的一个简单的查询。要注意的是,这种方式是用 SqlSession 实例来直接执行在User.xml文件中映射的 SQL 语句:session.selectOne("com.yiibai 阅读全文
摘要:
Mybatis 开发环境搭建,选择: MyEclipse8.5 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包。这些软件工具均可以到各自的官方网站上下载。 整个过程在概如下, 1. 在本教程中,建立 java 工程,但一般都是开发 web 项目,这个系列教程最后是 阅读全文
摘要:
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objec 阅读全文
摘要:
org.springframework.jdbc.object.SqlUpdate类提供了表示SQL更新的可重用操作对象。 使用到的 Student 表的结构如下 - SQL SQL 类的声明 以下是org.springframework.jdbc.object.SqlUpdate接口的声明 - J 阅读全文
摘要:
org.springframework.jdbc.core.StoredProcedure类是RDBMS存储过程的对象抽象的超类。这个类是抽象的,目的是让子类将提供一个用于调用的类型化方法,该方法委托给所提供的execute(java.lang.Object ...)方法。继承的sql属性是RDBM 阅读全文
摘要:
org.springframework.jdbc.object.SqlQuery类提供了表示SQL查询的可重用操作对象。 使用到的 Student 表的结构如下 - SQL SQL 类的声明 以下是org.springframework.jdbc.object.SqlQuery接口的声明 - Jav 阅读全文
摘要:
org.springframework.jdbc.core.SimpleJdbcCall类是表示对存储过程或存储函数的调用的多线程,可重用的对象。 它提供元数据处理以简化访问基本存储过程/函数所需的代码。 所有需要提供的是程序/函数的名称和包含执行调用时参数的Map对象。 提供的参数的名称将与创建存 阅读全文
摘要:
org.springframework.jdbc.core.NamedParameterJdbcTemplate类是一个具有基本JDBC操作的模板类,允许使用命名参数而不是传统的’?‘占位符。 这个类代表一个包装的JdbcTemplate,在执行时完成从命名参数占位符替换为JDBC样式’?‘ 占位符 阅读全文
摘要:
org.springframework.jdbc.core.SimpleJdbcInsert类是一个多线程,可重用的对象,为将数据插入表提供了易用的功能。它提供元数据处理以简化构建基本insert语句所需的代码。实际的插入是使用Spring的JdbcTemplate来处理的。 使用到的 Studen 阅读全文
摘要:
JdbcTemplate类使用org.springframework.jdbc.core.RowMapper <T>接口在每行的基础上映射ResultSet的行。该接口的实现执行将每行映射到结果对象的实际工作。如果抛出SQLExceptions将被调用的JdbcTemplate捕获和处理。 接口的声 阅读全文
摘要:
org.springframework.jdbc.core.ResultSetExtractor接口是JdbcTemplate的查询方法使用的回调接口。此接口的实现执行从ResultSet提取结果的实际工作,不需要担心异常处理,它调用JdbcTemplate捕获并处理SQLExceptions。 该 阅读全文
摘要:
org.springframework.jdbc.core.PreparedStatementSetter接口充当JdbcTemplate类使用的一般回调接口。该接口在JdbcTemplate类提供的PreparedStatement上设置了使用相同SQL的批处理中的每个更新的值。实现负责设置必要的 阅读全文
摘要:
以下示例将演示如何使用spring jdbc在单个调用中进行多批次更新。 我们将在批量大小为1的多批次操作中更新student表中的记录。 student表的结果如下 - SQL SQL 语法: Java Java 在上面语法中 - SQL - 更新语句以更新学生的年龄。 Parameterized 阅读全文
摘要:
org.springframework.jdbc.core.JdbcTemplate类是JDBC核心包中的中心类。它简化了JDBC的使用,并有助于避免常见的错误。 它执行核心JDBC工作流,留下应用程序代码来提供SQL并提取结果。 该类执行SQL查询或更新,在ResultSet类上启动迭代并捕获JD 阅读全文
摘要:
以下示例将演示如何使用spring jdbc中的对象进行批量更新。我们将在单次批次操作中更新student表中的记录。 student表的结果如下 - SQL SQL 语法: Java Java 在上面语法中 - SQL - 更新语句以更新学生的年龄。 batch - SqlParameterSou 阅读全文
摘要:
以下示例将演示如何使用spring jdbc进行批量更新。我们将在单次批次操作中更新student表中的记录。 student表的结果如下 - SQL SQL 语法: Java Java 在上面语法中 - SQL - 更新语句以更新学生的年龄。 BatchPreparedStatementSette 阅读全文
摘要:
以下示例将演示使用spring jdbc更新CLOB类型的字段值,即更新student表中的可用记录。 student表的结构如下 - SQL SQL 语法: Java Java 在上面语法中 - SqlLobValue - 表示SQL BLOB / CLOB值参数的对象。 in - SqlPara 阅读全文
摘要:
以下示例将演示spring jdbc如何调用存储函数。在这个示例中将通过调用存储函数来读取Student表中的一个可用记录信息。传递一个ID并获取学生的姓名。 语法: Java Java 在上面语法中 - jdbcCall - 这是一个SimpleJdbcCall对象,它用来表示存储函数。 in - 阅读全文
摘要:
以下示例将演示使用spring jdbc更新BLOB类型的字段值,即更新student表中的可用记录。 student表的结构如下 - SQL SQL 语法: Java Java 在上面语法中 - SqlLobValue - 表示SQL BLOB / CLOB值参数的对象。 in - SqlPara 阅读全文
摘要:
以下示例将演示spring jdbc如何调用存储过程。将通过调用存储过程来读取Student表中的一个可用记录。将传递一个学生ID并获取学生记录信息。 语法: Java Java 在上面语法中 - jdbcCall - 这是一个SimpleJdbcCall对象,它用来表示存储过程。 in - 这是一 阅读全文
摘要:
以下示例将展示如何使用Spring jdbc执行删除数据库表中的记录,这里演示如何删除指定student表中的记录。 语法: Java Java 在上面语法中 - deleteQuery - 具有占位符的删除查询语句用来删除指定的学生信息。 jdbcTemplateObject - StudentJ 阅读全文
摘要:
以下示例将展示如何使用Spring jdbc执行更新数据库表的记录,这里演示如何更新student表中指定条件的记录。 语法: Java Java 在上面语法中 - updateQuery - 具有占位符的更新查询用来更新学生信息。 jdbcTemplateObject - StudentJDBCT 阅读全文
摘要:
以下示例将展示如何使用Spring jdbc进行查询数据记录,将从student表中查询记录。 语法: Java Java 在上面语法中 - selectQuery - 选择查询学生数据记录。 jdbcTemplateObject - StudentJDBCTemplate 对象将 Student 阅读全文
摘要:
以下示例将展示如何使用Spring jdbc进行插入查询。将向student表中插入几条记录。 语法: Java Java 在上面语法中 - insertQuery - 具有占位符的插入语句。 jdbcTemplateObject - StudentJDBCTemplate 对象将 Student 阅读全文
摘要:
要了解JdbcTemplate类与Spring JDBC框架相关的概念,下面通过编写一个简单的例子演示如何使用Spring JDBC框架,在这个示例中,将在以student表上实现插入数据和读取数据的操作。 SQL SQL 创建项目 首先打开Eclipse,创建一个Maven项目,选择:File - 阅读全文
摘要:
在本系列教程中,使用的的是MySQL数据库,并创建一个数据库实例:test,在这个数据库实例:test中创建一个表student。如果您使用任何其他数据库,则可以相应地更改DDL和SQL查询,这问题不大,但为了减少不必要的麻烦,建议与本教程同步。 SQL SQL 接下来,需要向JdbcTemplat 阅读全文