Resolving MyBatis OGNL Expression Evaluation Errors with Null Source

Problem Description When executing MyBatis mapper methods, the folowing exception occurs: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression '_clause.operator.alias'. Cause: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "opera ...

Posted on Sat, 07 Nov 2026 16:31:41 +0000 by 01706

Quarterly Capability Assessment System for Senior Citizens

Database Schema CREATE TABLE daily_life ( id_card VARCHAR(20) PRIMARY KEY, eating TINYINT, bathing TINYINT, grooming TINYINT, dressing TINYINT, bowel_ctl TINYINT, bladder_ctl TINYINT, toileting TINYINT, transfer TINYINT, ambulation TINYINT, stair_climb TINYINT ); ...

Posted on Thu, 05 Nov 2026 16:40:36 +0000 by Masterchief07

Building a Pet Hospital Management System with Spring Boot

System Functionality Overview The pet hospital management system built with Spring Boot supports multiple user roles with configurable permissions. Key features include: User management and role assignment Permission control system Pet profile management Medical case tracking Health guide management Health analytics and charting Pet activity l ...

Posted on Sat, 31 Oct 2026 16:24:50 +0000 by ramkumar_unknow

MyBatis CRUD Operations, XML Mappings, and Dynamic SQL

MyBatis is an open-source Java persistence framework that simplifies data base interactions by reducing JDBC boilerplate code. It supports custom SQL, stored procedures, and advanced mappings. This article covers basic CRUD operations using annotations, XML mappings, and dynamic SQL. Basic CRUD with MyBatis Start by creating a Spring Boot pr ...

Posted on Thu, 29 Oct 2026 16:21:31 +0000 by mimcris

MyBatis Advanced Mapping and Lazy Loading Techniques

Database Schema Overview Before implementing the code examples, it's essential to understand the database table structure that we'll be working with. Many-to-One Relationships For our examples, we'll consider a PostContent table (primary key) as the "many" side and a Post table as the "one" side. Appproach 1: Cascade Propert ...

Posted on Thu, 29 Oct 2026 16:20:03 +0000 by jonemo

Implementing Role-Based Access Control in Spring Boot with Apache Shiro and MyBatis

Project Dependencies To integrate Apache Shiro into a Spring Boot environment using Gradle, include the necessary starters for web support, MyBatis, and the Shiro core libraries. Below is the configuration for build.gradle: plugins { id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-management' version '1.0.15.RELEA ...

Posted on Wed, 28 Oct 2026 16:33:23 +0000 by nainil

Understanding MyBatis Core Mechanisms

MyBatis serves as a powerful persistence framework that facilitates custom SQL queries, stored procedures, and sophisticated object-relational mapping. It eliminates the need for extensive JDBC boilerplate code, including manual parameter binding and result set handling. Configuration and mapping of native types, interfaces, and Plain Old Java ...

Posted on Tue, 27 Oct 2026 16:30:02 +0000 by DoomyCheese

MyBatis SqlSession Creation Source Code Analysis and Key Questions

Why InputStream Doesn't Need Manual Closure When Using SqlSessionFactoryBuilder? Consider this typical usage pattern: public class StudentRepositoryImpl implements IStudentRepository { private SqlSession session; public void addStudent(Student student) { try { InputStream stream = Resources.getResourceAsStream(& ...

Posted on Mon, 26 Oct 2026 16:24:50 +0000 by PHP-Editors.com

Implementing Data Queries Using MyBatis Mapper Proxy

Define an interface that declares the query method. package com.example.mapper; import com.example.model.Employee; import java.util.Collection; public interface EmployeeMapper { Collection<Employee> retrieveAllEmployees(); } Create a XML mapping file that links the interface method to an SQL statement. <?xml version="1.0&quo ...

Posted on Sun, 25 Oct 2026 16:46:05 +0000 by alanrenouf

Replacing MyBatis with MyBatis-Plus in a Spring Boot 3 Project That Includes Flowable

There is a common scenario where a project built solely on MyBatis must later incorporate MyBatis-Plus. Even though the goal appears to be "coexistence," MyBatis-Plus is effectively a superset of MyBatis, so the more practical path is switching to MyBatis-Plus and eliminating MyBatis’s dedicated configuration. The steps below describe ...

Posted on Sun, 25 Oct 2026 16:00:57 +0000 by chingwaah