[MyBatis日记]问题汇总

问题一:mybatis映射文件insert不执行,而直接用sql则可以插入成功

解决方案:

studentMapper.insertStudent(student);在执行晚SQL语句之后,记得session.commit();

问题二:中文显示乱码问题

解决方案:

配置数据库地址时加上编码格式characterEncoding: <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf8"/> 

问题三:XML文件中大于号小于号问题

解决方案一:用了转义字符把>和<替换掉


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 

<mapper namespace="com.sjf.mapper.CourseMapper">

 

	<resultMap id = "CourseResultMap" type="com.sjf.bean.Course" >

		<id property="ID" column="ID"/>

		<result property="name" column="name"/>

		<result property="desc" column="description"/>

		<result property = "startDate" column = "startDate"/>

		<result property = "endDate" column = "endDate"/>

	</resultMap>

	

	<select id="getCourseByCondation" parameterType="hashmap" resultMap="CourseResultMap"> 

    	SELECT * FROM Course 

    	WHERE teacherID = #{teacherID} 

    	<if test = "courseName != null" >

    		AND NAME = #{courseName}

    	</if>

    	<if test = "startDate != null">

    		AND startDate >= #{startDate}

    	</if>

    	<if test = "endDate != null">

    		AND endDate  <= #{endDate}

    	</if>

  	</select>

</mapper> 

转义字符表:

转义符 符号
&lt; <(小于号)
&gt; >(大于号)
&amp; &(和)
&apos; ‘(单引号)
&quot; "(双引号)

解决方案二:

因为这个是xml格式的,所以不允许出现类似“>”这样的字符,但是都可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析。


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 

<mapper namespace="com.sjf.mapper.CourseMapper">

 

	<resultMap id = "CourseResultMap" type="com.sjf.bean.Course" >

		<id property="ID" column="ID"/>

		<result property="name" column="name"/>

		<result property="desc" column="description"/>

		<result property = "startDate" column = "startDate"/>

		<result property = "endDate" column = "endDate"/>

	</resultMap>

	

	<select id="getCourseByCondation" parameterType="hashmap" resultMap="CourseResultMap"> 

    	SELECT * FROM Course 

    	WHERE teacherID = #{teacherID} 

    	<if test = "courseName != null" >

    		AND NAME = #{courseName}

    	</if>

    	<if test = "startDate != null">

    		<![CDATA[AND startDate >= #{startDate} ]]>

    	</if>

    	<if test = "endDate != null">

    		<![CDATA[AND endDate  <= #{endDate} ]]>

    	</if>

  	</select>

</mapper> 
时间: 2024-10-16 13:53:12

[MyBatis日记]问题汇总的相关文章

springmvc+mybatis学习笔记(汇总)

springmvc+mybatis学习笔记(汇总) 标签 : springmvc mybaits springmvcmybatis学习笔记汇总 目录 联系作者 笔记分为两大部分:mybatis和springmvc mybatis springmvc 笔记内容主要是mybatis和springmvc的一些基本概念和使用方法,涉及概念介绍.环境搭建.编程细节.运行调试等方面. 这套笔记整体偏入门和应用,适合快速上手,对底层实现和机理并未做过多分析.我后续会研读spring源码,并把学习的收获写成博客

myBatis 日记

一级缓存默认开启, 有效范围是在当前sqlsession, 同一个SqlSession对象执行相同的sql并参数也要相同,缓存才有效. 在同一个会话里面,多次执行相同的SQL 语句,会直接从内存取到缓存的结果 一级缓存不足: 使用一级缓存的时候,因为缓存不能跨会话共享,不同的会话之间对于相同的数据可能有不一样的缓存.在有多个会话或者分布式环境下,会存在脏数据的问题. 二级缓存的有效方范围是 Mapper(NameSpace), 多个SqlSession可以共用二级缓存,二级缓存是跨SqlSess

Egret入门学习日记 --- 问题汇总

问题1: 图片无法拖入到 EXML 文件的问题 在日记 第六篇 有记载:https://www.cnblogs.com/dmc-nero/p/11188975.html 位于 3.6节 内容. 问题2: 关于 组件 Mask 的用法问题 在日记 第十五篇 有记载:https://www.cnblogs.com/dmc-nero/p/11237340.html 位于 6.7节 内容. 原文地址:https://www.cnblogs.com/dmc-nero/p/11247370.html

mybatis常见错误汇总

1.Result Maps collection does not contain value for Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.business.entity.RepayChannel at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementResultMap(

Mybatis常见面试题汇总

Mybatis常见面试题汇总 最近在复习整理Mybatis的相关知识,针对面试中的典型问题,结合相关书籍和网上相关帖子,做如下整理. ================================================================= 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver.#{}是sql的

MyBatis概念性面试题整理汇总

MyBatis概念性面试题整理汇总 MyBatis常见的概念性面试题 一.概念性填空题 1.#{}和$ {}的区别是什么?#{}是_____,${}是_____. 2.四个核心接口是()用于执行CRUD操作.()处理SQL的参数.()处理返回结果集.()用于执行SQL语句. 3.MyBatis中提供了一级缓存和二级缓存,其中()默认存在,不可控制,同一SqlSession范围内的操作共享该缓存,增.删.改后将(). 4.Mybatis的Xml映射文件中,不同的Xml映射文件,id是否可以重复?

Spring、Spring MVC、Mybatis、Dubbo、Spring security整合日记(一)

使用Idea 15作为开发工具 一.四个模块 api    作为接口,jar包,提供依赖 core  基础模块,提供实体类,工具类,jar包,提供依赖 consumer dubbo中的消费者,控制层,war包,依赖api.core provider dubbo中的提供者,业务层,war包,依赖api.core 二.Maven依赖 ①.dubbo(parent) pom.xml <groupId>com.zhf</groupId> <artifactId>dubbo<

Hibernate、一般Servlet、myBatis下的Utils汇总

Hibernate //HibernateUtils.java import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; /**  * @author Administrator  *   */ public class HibernateUtils { private static SessionFactory sess

MYbatis调试日记(三)

如何在Mybatis中插入日期类型的数据 直接见代码: xml配置文件 java代码