1、SSM框架简介 SSM框架是SpringMVC,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层,使⽤SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。2、SSM框架各层介绍2.1、持久层(Mybatis):Dao层(mapper)DAO层:DAO层主要是做数据持久层的⼯作,负责与数据库进⾏联络的⼀些任务都封装在此。DAO层的设计⾸先是设计DAO的接⼝。然后在Spring的配置⽂件中定义此接⼝的实现类。然后就可在模块中调
MyBatis的缓存机制属于本地缓存,适用于单机系统,它的作用是减少数据库的查询次数,提高系统性能。MyBaits中包含两级本地缓存:一级缓存:SqlSession级别的,是MyBatis自带的缓存功能,默认开启,并且无法关闭,因此当有两个SqlSession访问相同的SQL时,一级缓存也不会生效,需要查询两次数据库。二级缓存:Mapper级别的,只要是同一个Mapper,无论使用多少个SqlSession来操作,数据都是共享的,多个不同的SqlSession可以共用二级缓存,MyBatis二级缓存默认是关闭的,需要使用时可手动开启,二级缓存也可以使用第三方的缓存,比如,使用Ehcache作为
一、sql语句分页:在mapper.xml文件添加sql语句select*fromemporderbyempnolimit#{startIndex},#{pageSize}在接口中添加方法:ListgetEmpByLimit(Mapmap);在测试类中添加:Mapmap=newHashMap();map.put("startIndex",0);//从0开始map.put("pageSize",3);//每页条数ListempList=mapper.getEmpByLimit(map);for(Empemp:empList){System.out.println(emp);}二、RowBound
由于公司项目需要,在每次查询完成之后都要把完整的sql语句打印出来,需要集成输出完整SQL插件到框架中单数据源配置编写拦截器,并实现打印sql日志packagecom.api.interceptor;importcom.sun.deploy.util.StringUtils;importorg.apache.ibatis.cache.CacheKey;importorg.apache.ibatis.executor.Executor;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibat
改的都是自己觉得需要改的部分,如有不同见解欢迎讨论。在生成的实体类中,数据库tinyint类型默认会生成Byte,使用时略有不便。于是将其改成Integer。自定义一个JavaType解析的类packagecom.zzg.mybatis.generator.plugins;publicclassMyJavaTypeResolverImplextendsJavaTypeResolverDefaultImpl{@OverrideprotectedFullyQualifiedJavaTypeoverrideDefaultType(IntrospectedColumncolumn,FullyQuali
mybatis-plus分页查询一、前期准备表1、配置类二、使用selectPage1、Service2、结果三、使用2种分页查询的写法1、xml2、Mapper3、第一种写法4、第一种结果5、第二种写法6、第二种结果四、使用PageHelper插件分页查询1、依赖2、代码3、结果一、前期准备表CREATETABLE`school_student`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(255)DEFAULTNULL,`sex`varchar(255)DEFAULTNULL,`age`int(11)DEFAULTNULL,PRIMARYK
问题:使用mybatis时我们经常会碰到如下错误###Cause:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Unknowncolumn'isDel'in'fieldlist';badSQLgrammar[];nestedexceptioniscom.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Unknowncolumn'isDel'in'fieldlist'解决:出现这种情况可能是1、sql中的字段和数据库的字段对不上,或者是sql中的字段和实体类的字段对不
前言Spring与MyBatis整合的意义在于提供了一种结合优势的方式,以便更好地开发和管理持久层(数据库访问)代码。这里也是总结了几点主要意义简化配置:Spring与MyBatis整合后,可以通过Spring的配置文件来管理和配置MyBatis的相关配置,例如数据源、事务管理等,而不需要额外的独立配置文件。这样可以减少配置的复杂性,提高开发效率。提供事务管理:Spring框架本身提供了强大的事务管理功能,通过与MyBatis整合,可以将MyBatis的数据库操作纳入到Spring的事务管理中,实现数据库操作的事务控制,保证数据的一致性和完整性。实现依赖注入:Spring框架的核心特性之一是依
项目开发过程中使用Mybatis-Plus的lambda表达式,对其中对模糊查询like方法开始不理解其中参数Boolean是什么作用。后边看其他的方法都是两个对应的,有带Boolean参数的有不带的。查阅资料得知:代码如下://条件封装QueryWrapperFykUser>queryWrapper=newQueryWrapper>();queryWrapper.like(StringUtils.isNotBlank(user.getName()),"NAME",user.getName());queryWrapper.like(user.getEnable()!=null,"ENABLE"
一、更新。1、根据id更新2、根据条件更新1>querywrapper:设置条件。2>updatewrapper:设置条件及字段。 3、测试SQL。4、测试结果。 二、删除。1、根据id删除。2、根据map删除数据,多条件之间是and关系。 3、测试结果,未匹配到。 4、把密码设为正确的,再次进行删除。5、删除成功。 6、根据包装条件作删除。用法一: 用法二:通常使用第二种用法 7、根据id批量删除。 8、SQL展示。