MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

MyBatis 中 <if> 判断字符串是否相等失效

本文将解决在 MyBatis 的 Mapper.xml 文件中使用 <if> 标签的 test 属性测试字符串是否相等,但是测试未通过,也不存在语法问题。

org.apache.ibatis.binding.BindingException: Type interface com.*.UserMapper is not known to the MapperRegistry 错误

本文将解决 org.apache.ibatis.binding.BindingException: Type interface com.hxstrive.mybatis.*.UserMapper is not known to the MapperRegistry 错误。

MyBatis 抛出 java.net.MalformedURLException: no protocol: com.hxstrive.**.UserMapper 错误

解决 org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.net.MalformedURLException: no protocol: com.hxstrive.mybatis.simple.UserMapper 错误信息

MyBatis Mapper中的if-else判断

本文将介绍在MyBatis的Mapper中,怎样编写if-else的条件判断语句。

MyBatis查询Oracle数据表抛MyBatisSystemException异常

使用MyBatis根据用户名称查询Oracle数据库中User表,抛出“MyBatisSystemException异常,但是不带参数查询正常。

MyBatis Select一对多和多对一映射详解

在使用MyBatis3的时候,我们经常需要处理一对多和多对一这种方式,通常情况下我们可以通过代码请求两次数据库将数据获取到JavaBean中;那么,MyBatis3是否支持查询映射呢?答案是肯定的。在MyBatis3中我们可以在<resultMap>使用<collection>实现一对多,<association>实现一对一或多对一映射。

Mybatis 插入数据后返回主键值

在使用MyBatis进行开发时,我们面临一个问题。怎样在insert的时候获取数据库自动生成的ID值呢?在不同的数据库中生成ID值的方式不一致,也就导致我们处理这一问题也不一致。在Oracle中是通过调用一个序列的nextval来获取一个唯一的ID,在MySQL和SQL Server中存在一个自增长列。因此,二者的处理方式不一致,下面我们通过实例来讲解Oracle和MySQL中怎样获取Insert后的ID值。

MyBatis之SqlSession分析

MyBatis的Sqlsession对应着一次数据库会话(即一次数据库连接)。由于数据库会话不是永久的,因此Sqlsession的生命周期也不应该是永久的。相反,在你每次访问数据库时都需要创建它(当然并不是说在Sqlsession里只能执行一次sql,你可以执行多次,当一旦关闭了Sqlsession就需要重新创建它)。创建Sqlsession的地方只有一个,那就是SqlsessionFactory的openSession方法。

Spring3怎样处理Mybatis异常

Spring3的DAO框架没有抛出与特定技术相关的异常,例如SQLException或HibernateException,抛出的异常都是与特定技术无关的org.springframework.dao.DataAccessException类的子类,避免系统与某种特殊的持久层实现耦合在一起。DataAccessException是RuntimeException的子类,即是一个无检测的异常,不要求代码去处理这类异常,遵循了Spring的一般理念:异常检测会使代码到处是不相关的catch或throws语句,使代码杂乱无章;

MyBatis查询结果为Null抛出BindingException异常

当我们使用MyBatis3查询数据库时,如果你将resultType设置为基本数据类型(如:resultType=int),但是数据查询没有返回结果,此时将NULL赋值给int类型的变量就会抛出BindingException异常信息。

MyBatis简介和原理介绍

Mybatis的应用是围绕着一个SqlSessionFactory实例(即SqlSession工厂,从中可以获取到SqlSession对象,所有的数据库操作都是通过SqlSession类进行的)展开的。SqlSessionFactoryBuilder根据XML映射文件创建SqlSessionFactory。下面是一段创建SqlSession的代码:

MyBatis中#{}与${}的差别

MyBatis在默认情况下,使用#{}语法,MyBatis会产生PreparedStatement语句中,并且安全的设置PreparedStatement参数,这个过程中MyBatis会进行必要的安全检查和转义。因此,在Mapper文件中使用#{}语法来获取Java代码传递过来的变量更为安全,也推荐你这么做。

MyBatis Mapper.xml的choose标签详解

MyBatis Mapper.xml的choose标签的作用类似于java中的switch语句,使用choose标签时为了避免使用大量的if元素。choose元素包含了when元素(对应于java中的case语句),otherwise元素则对应java中的default语句。

MyBatis Mapper文件的trim元素详解

MyBatis Mapper文件的trim元素用来替换已经拼凑好的字符串开始或者结束的字符串。如:"AND C_NAME LIKE '%ZhangSan%' AND N_AGE=25"可以使用trim元素将字符串开始的AND元素替换成WHERE。

MyBatis的Mapper文件的foreach标签详解

MyBatis的Mapper文件的foreach标签用来迭代用户传递过来的Lise或者Array,让后根据迭代来拼凑或者批量处理数据。如:使用foreach来拼接in子语句。

首页 1 2 下一页 末页 共23/2页
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号