自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zitian246的博客

你若安好便是晴天

  • 博客(21)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 Mybatis相关:pagehelper--超爽的分页插件

pagehelper是刘增辉开发的一个分页插件,支持多种数据库,号称最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。https://pagehelper.github.io/使用方式:1.在pom.xml引入依赖<!--配置分页--><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifa

2020-10-25 21:39:01 218

原创 Mybatis相关:当mybatis 方法参数为多个时报错Available parameters are [arg1, arg0, param1, param2]

当使用mybaits传递多个参数时,异常抛出如下:org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [arg1, arg0, param1, param2]解决方案将多个参数封装为对象或map集合进行传输,即可传对象或传map 使用arg0 arg1...... 或者 param1 param2等命名 先将参数声明,再使用@Param给参数...

2020-10-25 21:29:00 371

原创 Mybatis相关:基于注解的Mybatis开发

1.Mybatis常用注解@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result 一起使用,封装多个结果集@ResultMap:实现引用@Results 定义的封装@One:实现一对一结果集封装@Many:实现一对多结果集封装@SelectProvider: 实现动态 SQL 映射@CacheNamespace:实现注解二级缓存的使用2.基于注解的增删改查

2020-10-25 21:24:09 467

原创 Mybatis相关:一级缓存&二级缓存&脏数据的产生

1.Mybatis的缓存缓存是一般的ORM框架都会提供的功能,目的就是提升查询的效率和减少数据库的压力。跟Hibernate一样,Mybatis也有一级缓存和二级缓存,并且预留了集成第三方缓存的接口。特点:缓存数据不可靠(可能会丢失),存放热点数据(经常使用的数据)优点:缓存大部分存在内存中,查询速度快一级缓存基于SqlSession, 二级缓存基于namespace,同一个namespace下所有数据可以共享在https://blog.csdn.net/zitian246/arti

2020-10-25 20:53:48 1053 1

原创 Mybatis相关:懒加载(延迟加载)

1.什么是延迟加载?延迟加载就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。延迟加载也称为懒加载。好处:先从单表查询,需要时在从关联表去关联查询,大大提高数据库性能,因为查询单表比关联多张表查询速度要快得多。坏处:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工作也要消耗时间,所以可能造成用户等待时间变长,造成用户体验下降。例如在查询学生信息时,要包括学生各科成绩。如果用懒加载,会变成,先查询出所有学生id,然后再拿这些id依次去数据库查询成绩,要与

2020-10-24 22:05:54 518

原创 mybatis相关:重复代码的抽离与拼接(<sql>与<include>)

有些重复次数太多的sql语句,如果每次都写,显得过于麻烦与臃肿,我们可以通过<sql>完成语句的声明,通过<include> 标签进行应用拼接 <!-- <sql>抽离重复代码 <include>进行引用拼接--> <sql id="findAllStudentsql"> select * from student_tb</sql> <select id="findAllStudent"

2020-10-24 20:43:51 845

原创 Maven相关:动态sql(if、where、foreach、include)

动态SQL是mybatis的强大特性之一,也是优于其他ORM框架的一个重要原因1.<ifhttps://www.cnblogs.com/grasp/p/11268049.html <if中的大坑。当if条件符合时才会拼接sql语句,注意where 1 = 1是因为当条件成立时 where 后面不能直接根 and 需要在and前 加 true 或者 1=1<!-- 如果 <if test="name !=null and name!=''"> ...

2020-10-24 20:38:45 732

原创 mybatis相关:事务

mybatis事务的管理也是通过setAutoCommit进行控制的默认情况下是开启事务,关闭自动提交 public SqlSession openSession() { return this.openSessionFromDataSource(this.configuration.getDefaultExecutorType(), (TransactionIsolationLevel)null, false); }如果sqlSession执行增删改动作时,需要

2020-10-24 17:58:15 109

原创 Mybatis相关:SqlMapConfig.xml中配置的内容和顺序

<configuration><!--配置--> <properties/><!--属性--> <settings/><!--设置--> <typeAliases/><!--类型别名--> <typeHandlers/><!--类型处理器--> <objectFactory/><!--对象工厂--> <plugins/><!-.

2020-10-24 17:33:01 130

原创 Mybatis相关:获取自增id的两种方式selectKey&useGeneratedKeys

1.数据准备/** * 学生实体类 */public class Student implements Serializable { private int id; private String name; private String sex; private int age; private float height; private String address; public Student() { }

2020-10-24 17:02:34 1955

原创 spring相关之代理模式(proxy)

一.什么是代理模式? 客户端不直接和目标对象(实际对象)发生交互,或不直接调用目标对象,而是通过调用代理对象来间接的调用目标对象的设计模式。二.作用(为什么要使用代理模式)当客户端不想直接访问目标对象或访问目标对象有困难时,需要通过代理对象进行间接访问 在不改变目标对象源代码的情况下,通过代理对目标对象的功能进行增强。如添加日志、事务控制,权限控制,鉴权登录等三.代理模式分类1.静态代理(了解)静态代理,代理类和i能代理某一特定的目标对象,并且对目标对象进行增强。pu..

2020-10-21 22:45:50 306

原创 mybatis相关:Mybatis中<if test>的用法与大坑

https://www.cnblogs.com/grasp/p/11268049.html

2020-10-19 21:51:00 1535

原创 mybatis相关:别名的配置(typeAliases)与驼峰映射(mapUnderscoreToCamelCase)

1.别名的两种设置在mybatis配置文件中 <typeAliases> <!--方式1:声明单个别名 使用时忽略大小写--> <!-- <typeAlias type="com.wgz.entity.MiddleStudent" alias="middleStudent"></typeAlias>--> <!--方式2:扫描包声明别名

2020-10-17 22:22:48 881

原创 面试题:${}和#{}的区别

区别:1. #{}是预编译处理(占位符,替换结果会增加单引号),${}是字符串替换。2. Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的 set 方法来赋值; Mybatis 在处理${}时,就是把${}替换成变量的值。3. 使用#{}可以有效的防止 SQL 注入,提高系统安全性。·4. 获取值方式的区别:${value},#{参数名}注:表名作为变量时,必须使用${]具体分析: ...

2020-10-17 21:46:53 798

原创 Mybatis相关:ResultMap作用(结果映射,一对多,多对多等)

1.两大作用(配置结果类型):解决数据表列名和javabean属性不一致的问题 提供一对一、一对多、多对多等高级映射2.当实体类对象与数据库字段不匹配时:方案1:使用sql语句as 起别名的方式修改查询结果的名称 方案2:使用resultMap,完成数据库字段与实体类属性的映射。(可被多个sql语句共用)<!--解决列名和实体类属性不匹配方法1. select id,name ,age,sex,height,s_address as address from stude.

2020-10-16 08:41:37 5080

原创 Mybatis入门学习笔记1

1.什么是框架? 软件的半成品,解决了软件开发过程中的普适性问题,我们可以在此基础上快速开发公司定制的化的软件应用 特点:简单易学,灵活,开发速度快,提高软件质量 框架已经把关键的代码业务实现,我们只是站在巨人肩膀上2.什么是ORM框架? ORM(Object Relational Mapping ) 对象关系映射,将程序中的一个对象与表中的一行数据一一对应。 读取:将数据库表中的每一行数据映射为对象 写入:将ja...

2020-10-14 22:48:24 189

原创 idea Maven项目下载不了jar包(注意:lastUpdated)

遇到jar包下载不下来???听说这是很头疼的事?原因:下载时可能网络突然断开,或网络慢,并未直接下载完,导致生成了很多.lastUpdated文件。等到网络恢复正常后,由于这些文件的存在,刷新,重复下载也并未正常执行。(flag一下,说不定啥时候自己就遇到了呢)解决方式:最后一定要重新刷新pom...

2020-10-14 22:06:51 1577

原创 Maven生命周期

1.Maven内部有三个标准的生命周期:clean:项目清理的处理(了解) default(或build)项目部署的处理 site:项目站点文档创建的处理(了解)2.clean:执行 clean 会删除 target 目录及内容。3.default(或build)重要compile:将src/main/java下的源代码编译,输出(生成)到targe目录 test:执行 src/test/java 下单元测试类 package:创建JAR/WAR包如在 pom.xml 中定义提及的

2020-10-13 21:17:03 96

原创 Maven jar包依赖与作用范围(生命周期)

1.什么是依赖? A中的某些类使用到了B中的某些类,则产生了A对B的依赖。也可以说当A jar包用到了B jar包时,A就对B产生了依赖。导入依赖的方式 每个构件都有自己的坐标 = groupId + artifactId + version = 项目标识 + 项目名 + 版本号 在maven项目中只需要配置坐标,maven便会自动加载对应依赖。删除坐标则会移除依赖 <dependency> <!-- servlet编译环境 --> ..

2020-10-13 20:54:00 919

原创 myshop商城项目总结

项目总结1.项目开发流程需求分析:确认客户最终需求概要设计: 考虑系统的基本组织流程,组织结构、模块划分、接口设计等详细设计: 在上一步基础上,考虑模块设计的算法、数据结构,类之间的调用关系等编码、测试、交付、验收、维护2.开发环境与主要功能开发环境: 无框架数据库 Mysql 5.7+服务器 tomcat8.5集成环境 idea序号模块名称主要功能1商品显示模块分页显示所有商品查看单个商品详细信息搜索商品2用户模块新用户注

2020-10-12 19:28:47 798

原创 使用QueryRunner进行模糊查询参数数量报错问题,Like

今天在测试模糊查询时,sql语句自己测试明明没有错,debug了半天,终于发现问题所在。原因:模糊查询进行了转义 %'字段'% 的值加上了 ''导致查询报错解决办法:String newUsername="%"+username+"%"; 将要传入的参数直接加上%%,作为一个整体参数传入 @Override public List<User> getUserByCondition(String username, String gendar) throws SQLEx...

2020-10-08 13:58:03 922

Navicat Premium 12.0.21 for Mac中文版

MAcOS Big Sur等版本可用

2021-07-17

myshop商城项目(可作期末课程设计),sql文件与页面梳理

项目介绍:https://blog.csdn.net/zitian246/article/details/109034748 实现了自动登录,鉴权登录,分页显示商品,商品模糊查询,购物车,订单生成与z支付,发货与收货等,附有管理员模块。

2020-10-12

myshop商城项目(可作期末课程设计)

项目介绍:https://blog.csdn.net/zitian246/article/details/109034748 实现了自动登录,鉴权登录,分页显示商品,商品模糊查询,购物车,订单生成与z支付,发货与收货等,附有管理员模块。

2020-10-12

数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)

数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: ​ 两两相比(两个相邻的数进行比较) 条件成立 互换位置 ​ 外层循环控制比较的轮数 **轮数永远是 长度 -1 (n - 1)** ​ 内层循环控制每一轮比较的次数 最多的一次 长度-1 -i 并且是依次递减的 **( n -1 -i )** 2.选择排序: ​ 选择排序和冒泡排序 比较的次数是一样 n-1 ​ 唯独区别在与:冒泡是立即调换位置 而选择是当一轮比较完了以后 再调换位置 外层循环是比较是数A 内层循环是 比较的 数 B 3.JDK自带的排序 Arrays.sort();方法

2020-07-28

ASP.net在线考试系统

ASP.NET在线考试系统源码。分为学生端,教师端,管理员端。

2018-12-28

验证码登录系统

验证码登录。图形验证码,算术验证码,已连结数据库。

2018-12-26

UML系统建模基础教程(第2版)胡荷芬、吴绍兴等 习题答案 978-7-302-35350-8

UML系统建模基础教程(第2版)胡荷芬、吴绍兴等 习题答案 完整版

2018-11-21

ASP.net在线考试系统源码

ASP.net在线考试系统源码,语言C#。有管理员、教师、学生三个模块。

2018-07-03

数据结构期末课程设计题目--输出图的所有广度遍历序列(两种代码实现附课程设计说明书)

数据结构期末课程设计题目--输出所有广度遍历序列(两种代码实现附课程设计说明书)代码有模拟实现(数据结构书上的,比较长),一种STL队列实现,较短。任意选择,附课程设计说明书,完整版,仅供参考。

2018-04-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除