控制层中: // 根据店家id查找图书,已售数量要大于等于1才显示 List<SoldBook> sbList = shopService.getSoldBookByShopidAndBookName( shopid, bname); 服务层中: //通过搜索图书名重载数据表格 public List<SoldBook> getSoldBookByShopidAndBookName(int shopid, String bname) { HashMap<String, Obj…
泛型作用于编译阶段: 泛型是作用于编译阶段,在编译阶段控制类型,以确保在编写代码的时候仅仅能传入指定类型数据到泛型集合对象中去. 怎样验证呢,贴代码例如以下: package highBasic.generic; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; public class StringAddToGeneri…
1.  传递pojo对象 Mybatis使用ognl表达式解析对象字段的值,#{}或者${}括号中的值为pojo属性名称,其中,#{}:占位符号,好处防止sql注入,${}:sql拼接符号, 简要说明: mybatis 在对 sql 语句进行预编译之前,会对 sql 进行动态解析,解析为一个 BoundSql 对象,也是在此处对动态 SQL 进行处理的.在动态 SQL 解析阶段, #{ } 和 ${ } 会有不同的表现.#{ }:解析为一个 JDBC 预编译语句(prepared stateme…
本节从表中使用MyBatis删除记录. 我们已经在MySQL下有EMPLOYEE表: CREATE TABLE EMPLOYEE ( id INT NOT NULL auto_increment, first_name ) default NULL, last_name ) default NULL, salary INT default NULL, PRIMARY KEY (id) ); 假设这个表是有两条记录如下: mysql> select * from EMPLOYEE; +----+-…
在云笔记项目中,讲到了MySql的自增,MyBatis查询到自增类型数据后可以设置返回到参数属性,其中学习了MySql的自增写法,堆栈对象等知识. MySql数据类型自增 建立一张Person表,其中id就是自增,而name为人为插入,以下就是MySql自增的写法,不同的数据库写法不太一致,个人比较熟悉的就是Oracle需要写一个Sequence来解决,而MySql的写法更加简单: --MyBatis数据自增,MySQL中使用AUTO_INCREMENT,ORACLE中使用SEQUENCE CR…
Mybatis 删除多条数据XML SQL语句删除 1.删除多条数据SQL写法 <delete id="deleteParamsByIds"> delete from ts_sys_params where id in <foreach collection="array" open="(" close=")" item="item" separator="," >…
最近工作中用到了mybatis的Java API方式进行开发,顺便也整理下该功能的用法,接下来会针对基本部分进行学习: 1)Java API处理一对多.多对一的用法: 2)增.删.改.查的用法: 3)涉及到类型转化的用法: 4)批量修改.批量查询.批量新增的用法. Mybatis官网给了具体的文档,但是并没有对以上用法具体介绍,因此在这里整理下,以便以后工作用到时,可以参考. 本章主要使用Mybatis中使用typeHandlers进行对Enum进行转化的用法(本章将结合Spring自动注入<S…
一.输入映射类型 parameterType定义输入到sql中的映射类型,可以是  简单类型  .po类对象(可自动生成 或 手动定义). pojo包装对象(用于综合查询,UserCustom用户自定义对象 .UserQueryvo视图层对象包).hashMap对象.集合对象以及数组(使用foreach拼接动态sql)等,建议使用pojo包装对象或map对象,以保证Dao的通用性. 1.基本数据类型 //基本类型 <select id="findEmpByName" parame…
Mybatis关联查询和数据库不一致问题分析与解决 本文的前提是,确定sql语句没有问题,确定在数据库中使用sql和项目中结果不一致. 在使用SpringMVC+Mybatis做多表关联时候,发现也不报错,也没有出现任何问题,但是就是和数据库查出的数据不一致,永远返回的只有一条数据,究其原因,在做多表关联查询时候,应该将关联两张表的ID主键在数据库中写出,这样在用BaseResultMap做关联,就可以找到所有的属性.其中所关联的表使用的是<association></associati…
/// <summary> /// 检测空值,以及会不会出现mapping类型不一致的问题 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="nullsb1"></param> /// <param name="errorsb"></param> public st…