自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 [weex框架之eros]细节笔记【不定期更新】

一.【2018-8-20】配置使用Tabbar功能,当打开应用时,在eros.native.js中配置的tabBar各个页面都会被初始化

2018-08-20 21:48:47 726

原创 sharedingsphere-jdbc踩坑记录

sharedingsphere-jdbc踩坑记录

2023-03-22 22:07:22 269

转载 mybatis实现多表一对一,一对多,多对多关联查询

1、一对一关键字:association作用:针对pojo对象属性的映射      property:pojo的属性名      javaType:pojo类名(1) 嵌套结果: 使用嵌套结果映射来处理重复的联合结果的子集PersonMapper.xml<resultMap type="com.gec.domain.Person" id="basePersonResult...

2019-02-20 18:03:20 530

原创 Hibernate和MyBatis的区别与利弊

1、hibernate真正掌握要比mybatis难,因为hibernate的功能和特性非常多,还不适合多表关联查询。2、hibernate查询会将所有关联表的字段全部查询出来,会导致性能消耗,当然hibernate也可以自己写sql指定字段,但这就破坏了hibernate的简洁性。mybatis的sql是自己手动编写的,所以可以指定查询字段。3、hibernate与数据库管联只需在xml文...

2019-02-20 17:00:53 2886

原创 MyBatis的常用API及方法

org.apache.ibatis.session.SqlSessionMyBatis工作的主要顶层API,表示和数据库交互的会话。完毕必要数据库增删改查功能。 org.apache.ibatis.executor.ExecutorMyBatis执行器,是MyBatis 调度的核心,负责SQL语句的生成和查询缓存的维护。 org.apache.ibatis.executor...

2019-02-20 16:45:13 3210

转载 spring--使用AOP的几种方式

使用AOP需要的一些概念 1.通知(Advice)通知定义了在切入点代码执行时间点附近需要做的工作。Spring支持五种类型的通知:Before(前)  org.apringframework.aop.MethodBeforeAdviceAfter-returning(返回后) org.springframework.aop.AfterReturningAdviceAfter...

2019-02-20 15:47:05 286

转载 SpringMVC的工作原理图

SpringMVC流程1、  用户发送请求至前端控制器DispatcherServlet。2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、  DispatcherS...

2019-02-20 10:13:38 631

原创 spring--bean自动装配

创建应用对象之间协作关系的行为被称为装配(wiring),而不是实例化对象的过程,xml文件中,通过<property name="xxx" ref="yyy" />的方式来装配了依赖对象. xml中通过autowire=""实现自动装配 1.default(beans这个标签的default-autowired属性)2.通过byName自动装配就是通过Bean...

2019-02-19 19:31:48 222

转载 Spring设计模式

第一种:工厂模式BeanFactory,从xml或者注解加载BeanDefinition,然后实例化对象,其中AbstractAutowiredCapableBeanFactory实现了主要的逻辑 第二种:单例模式Spring下默认的bean均为singleton,可以通过singleton=“true|false” 或者 scope=“?”来指定  第三种:适配器在S...

2019-02-19 16:03:42 167

原创 常见排序及源码

一、冒泡排序public class BubbleSort { public static void BubbleSort(int[] arr) { int temp;//定义一个临时变量 for(int i=0;i<arr.length-1;i++){//冒泡趟数 for(int j=0;j<arr.length-...

2019-02-19 12:34:37 150

原创 redis -- 哨兵机制

redis sentinel是一个分布式架构,其中包含了若干个sentinal节点和Redis节点,每个sentinel节点会对数据节点和sentinel节点进行监控,当它发现节点不可达是,会对节点做下线标识。如果大部分sentinal节点认为主节点不可达,sentinal节点之间会进行“协商” ,选举出来一个sentinal节点完成故障转义,并同时把这个故障通知到应用方; ...

2019-02-18 21:49:11 172

原创 mongodb -- 索引注意事项

1. 索引很有用,但是它也是有成本的——它占内存,让写入变慢;2. mongoDB通常在一次查询里使用一个索引,所以多个字段的查询或者排序需要复合索引才能更加高效;3. 复合索引的顺序非常重要4. 在生成环境构建索引往往开销很大,时间也不可以接受,在数据量庞大之前尽量进行查询优化和构建索引;5. 避免昂贵的查询,使用查询分析器记录那些开销很大的查询便于问题排查;6. 通过减少扫描文档数量...

2019-02-18 21:46:43 256

原创 mongodb -- 查询优化

第一步 找出慢速查询1. 开启内置的查询分析器,记录读写操作效率:   db.setProfilingLevel(n,{m}),n的取值可选0,1,2;     1) 0是默认值表示不记录;     2) 1表示记录慢速操作,如果值为1,m必须赋值单位为ms,用于定义慢速查询时间的阈值;     3) 2表示记录所有的读写操作; 例如:db.setProfilingLevel(1,3...

2019-02-18 21:45:08 683

原创 mongodb -- mongodb与mysql的区别?

 mongodb的本质还是一个数据库产品,3.0以上版本其稳定性和健壮性有很大提升。它与mysql的区别在于它不会遵循一些约束,比如:sql标准、ACID属性,表结构等。其主要特性如下:面向集合文档的存储:适合存储Bson(json的扩展)形式的数据; 格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行; 强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力; 完...

2019-02-18 21:39:34 180

原创 mysql -- 复制的原理

Mysql的复制原理大致如下:主库在数据提交时会把数据变更作为事件记录在二进制日志文件Binlog中;可通过sync_binlog控制binlog日志刷新到磁盘的频率; 主库推送二进制日志文件binlog中的事件到从库的中继日志Relay Log,之后从库根据中继日志RelayLog重做数据变更操作,通过逻辑复制达到主从库的数据一致; MySQL通过3个线程来完成主从库之间的数据同步,其中...

2019-02-18 21:35:55 233

原创 mysql -- 怎么样做执行计划分析

通过explain命令获取mysql如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序;explain分析后的结果解析:1.select_type查询的类型,主要是用于区分普通查询、联合查询、子查询等复杂的查询1)SIMPLE:简单的select查询,查询中不包含子查询或者union 2)PRIMARY:查询中包含任何复杂的子部分,最外层查询则被标记...

2019-02-18 21:33:20 113

原创 mysql -- 提高mysql语句效率的技巧

一、大批量插入数据1.大批量数据插入空表,可将表设置成为MyISAM,并通过disable keys将唯一索引关闭2.大批量数据插入非空Innodb表,可采取如下措施提高效率:     [1]导入数据时按照主键顺序排列;     [2]导入数据前使用set UNIQUE_CHECKS=0,关闭唯一性校验,导入后恢复;     [3]如果使用了自动提交,建议在导入前执行SET A...

2019-02-18 21:25:36 198

原创 mysql--各个数据库存储引擎区别

mysql的存储引擎是针对表进行设置的,一个库的不同表可以设置不同的存储引擎,mysql默认支持多种存储引擎,以适用不同领域的数据库应用需要,主要的几个数据库引擎如下:1.MyISAM存储引擎 5.5之前默认的存储引擎,不支持事务、不支持外键,表级锁,内存和硬盘空间占用率低,其优势是访问速度快,对事务完整性没有要求,以select、insert为主的应用基本上都可以使用这个引擎  2.I...

2019-02-18 21:17:03 270

转载 Linux CentOS 7 安装字体库 & 中文字体

参考 https://blog.csdn.net/wlwlwlwl015/article/details/51482065

2019-02-18 09:30:05 153

转载 eclipse快捷键

【Ct rl+T】搜索当前接口的实现类 1. 【ALT +/】    此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT +/】快捷键带来的好处吧。   2. 【Ct rl+O】    显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。   3. 【Ct rl+/】...

2019-02-16 15:59:19 124

原创 Linux基本指令

指令 用法 作用 bin 在home下   etc 存放系统管理和配置文件 /etc/profile pwd pwd 当前路径 cd ...

2019-02-15 19:54:22 149

原创 启动nodejs项目,报错mysql err: ER_ACCESS_DENIED_ERROR

启动linux服务器nodejs项目,报以下错误 info - socket.io startedmysql err: ER_ACCESS_DENIED_ERROR/home/im/node_modules/mysql/lib/protocol/Parser.js:79 throw err; // Rethrow non-MySQL errors ...

2018-12-20 16:30:16 3325

转载 centos7重启apache、nginx、mysql、php-fpm命令

apache启动systemctl start httpd停止systemctl stop httpd重启systemctl restart httpdmysql启动systemctl start mysqld停止systemctl stop mysqld重启systemctl restart mysqldphp-fpm启动systemctl start php-f...

2018-11-18 12:31:12 124

原创 centos7 开放3306端口并可以远程访问

一.防火墙配置CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。1、关闭firewall:systemctl stop firewalld.servicesystemctl disable firewalld.servicesystemctl mask firewalld.service 2、安装iptables防火墙yum ins...

2018-11-17 21:02:38 600

原创 idea下使用Maven搭建Spring+SpringMVC+MyBatis(SSM)框架(Spring5)

一、首先使用idea新建一个Maven webapp项目点击Finish,第一次搭建可能会很慢 二、搭建目录结构以下是刚创建时候的结构 补上必要的目录java,resources等在main下创建java目录,并右键选中java目录 在main下创建resources目录,并右键选中resources目录 添加相关包及文件,最终目录结构如...

2018-11-10 15:50:55 277

原创 idea常用快捷键

Ctrl + Shift + U  大小写转换Ctrl + Shift + N  快速打开文件Ctrl + Shift + T  生成测试用例Ctrl + Shift + Enter 补全一切符号Ctrl + Alt + B 查看抽象方法的实现Ctrl + Alt + Space 类名提示Ctrl + Alt + L 格式化代码Ctrl + Alt + O 优化导包Ctrl+Alt+C...

2018-11-09 17:41:00 118

原创 手动创建java普通项目转web项目并部署到tomcat

一.项目创建(非web项目)File--->New-->Java Project二.添加web所需目录及文件  webapp            META-INF            WEB-INF                   lib                    views                     web.xml...

2018-11-07 14:08:38 873

原创 MyBatis3.x整理:(六)MyBatis Generator

依赖jar包:mybatis-generator-core-1.3.6.jargeneratorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Co...

2018-11-06 21:57:00 145

原创 MyBatis3.x整理:(五)缓存机制

目录一、一级缓存二、二级缓存 三、EhCacheMyBatis缓存分两级缓存:一级缓存(也称为本地缓存),默认已开启二级缓存(也称为查询缓存),需要手动开启和配置,基于其他的缓存框架技术 一、一级缓存在SqlSession中存在一个Map用于缓存查询出来的对象,可以提升性能。MyBatis把执行的方法和参数通过算法生成缓存的Key,将key和查询的结果value...

2018-11-06 21:45:52 406

原创 MyBatis3.x整理:(四)对象关系映射

一.多对一案例:多个员工对象同属于同个部门对象模型对象设计 表设计:1.保存操作DepartmentMapper.xml<!-- 添加 --> <insert id="save" useGeneratedKeys="true" keyProperty="id" > insert into department (name) val...

2018-11-06 19:22:15 320

原创 MyBatis3.x整理:(三)动态SQL

一.if,choose<select id="queryForList" resultType="Employee"> SELECT id,name,sn,salary,deptId FROM employee where 1= 1 <if test="keyword!=null"> <bind name="keywordLike"

2018-11-06 17:34:57 365

原创 MyBatis3.x整理:(二)MyBatis拓展

一.别名配置1.修改mybatis-config.xml文件   方法一:直接给某一个类起别名:<typeAlias type="com.bigfong.mybatis.hello.User" alias="User"/>  方法二:给一个包(包含子包)中所有类起别名<package name="com.bigfong.mybatis.hello" />...

2018-11-06 17:11:43 222

原创 MyBatis3.x整理:(一)MyBatis基础

一.ORM思想 对象关系映射(Object Relational Maping ,简称ORM):是一种为了解决面向对象与关系数据库存在的互不匹配的问题的技术。简单来说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。ORM主要解决对象-关系的映射  常见ORM框架 1.JPA:本身是一种ORM规范,不是ORM框架...

2018-11-06 15:45:00 469

原创 spring5整理:(十)JavaConfig配置

1.domain配置Employee实体类2.dao接口及其实现类public interface IAccountDAO { /** * 从指定帐户转出多少钱 * @param outId * @param money */ void transOut(Long outId,int money); /** ...

2018-11-02 23:02:56 477

原创 spring5整理:(九)事务

目录一、何为数据库事务二、数据库并发问题三、事务的隔离级别四、事务类型五、Spring事务管理六、使用XML配置JDBC事务 七、tx:method标签设置​八、配置一个CRUD通用的事务配置九、使用注解配置JDBC事务一、何为数据库事务事务是一系列操作组成的工作单元,该单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做事务必需满足AC...

2018-11-02 18:26:44 3079

原创 spring5整理:(八)DAO

目录为什么要使用Spring对持久层的支持DAO之--JDBC模板类JDBC操作--JdbcTemplateJDBC操作--NamedParameterJdbcTemplateJDBC操作--JdbcDaoSupport为什么要使用Spring对持久层的支持1.原生操作持久层API方式麻烦2.Spring对事务支持非常优秀传统JDBC:1.代码臃肿,重复...

2018-11-01 19:54:23 288

原创 spring5整理:(七)AOP

把一个个的横切关注点放到某个模块中去,称之为切面。那每一个的切面都能影响业务的某一种功能,切面的目的就是功能增强,如日志切面就是一个横切关注点,应用中许多方法需要做日志记录的只需要插入日志的切面即可。AOP术语:1.Joinpoint连接点,被拦截到需要被增强的方法。where:去哪里做增强2.Pointcut:切入点,哪些包中的哪些类中的哪些方法,可以认为是连接点的集事。where:...

2018-11-01 17:00:58 1318

原创 spring5整理:(六)CGLIB动态代理-模拟事务

使用JDK的动态代理,只能针对目标对象存在接口的情况,如果目标对象没有接口,此时可以考虑使用CGLIB动态代理方式。CGLIB是通过生成代理类,然后继承于目标类,再对目标类中可以继承的方法做覆盖,并在该方法中做功能增强,因为多态的关系,实则调用的是子类中的方法1.xml配置:与JDK动态代理时一样<bean id="employeeDAO" class="com.bigfong...

2018-11-01 12:15:55 418

原创 spring5整理:(五)JDK动态代理-模拟事务

JDK动态代理API分析:(必须要求真实对象是有接口)1.java.lang.reflect.Proxy类:java动态代理机制生成的所有动态代理类的父类,它提供了一组静态方法来为一组接口动态地生成代理类及其对象.  1)主要方法:public static Object newProxyInstance(ClassLoader loader,Class<?>[] int...

2018-11-01 11:17:09 256

原创 spring5整理:(四)其他重要注解

一.作用域注解、初始化和销毁注解//XML配置方式:<bean id="someBean" class="com.bigfong.SomeBean" scope="prototype" init-method="open" destroy-method="close">//注解配置方式@Component@Scope("prototype")pu

2018-10-30 22:26:29 304

空空如也

空空如也

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

TA关注的人

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