- 博客(109)
- 收藏
- 关注
原创 安装 win
1. 下载redis 选zip包https://github.com/MicrosoftArchive/redis/releases2. 解压 例如目录: c: /redis3. 切换到命令行 在c:/redis 下执行 redis-server redis.windows.conf 下图表示成功4. 注册redis为服务(否则cmd窗口关闭 redis服务就停了)(1)依旧在命令...
2018-06-16 17:25:47
268
原创 python安装
win:1. https://www.python.org/2. 下载后直接运行 注意勾上add python to path3. cmd窗口输入 python 出现下图就成功了,没成功就检查下环境变量
2018-06-16 15:35:21
263
原创 关于数据库的坑1
各位好: 在今天排查磁盘使用率异常时,我们发现一条慢SQL造成大量的物理IO读操作,严重消耗服务器IO资源。该慢SQL类似于:SELECTUID,COUNT(1)AS UID_COUNTFROMTB_XXXXXWHEREUID IN(’XXX’,’XXX’,’XXX’,)GROUPBY UID 应用程序在IN子查询中传入超过22000个UID值,整个SQL语句超过45000行,执行时间超过1...
2018-06-16 15:11:17
257
原创 在IoC容器中装配Bean
装配一个Beanxml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http
2017-07-30 17:20:28
323
翻译 遇到的报错
jsp页面通过jstl无法接收Spring MVC参数 在web-app标签中加入以下属性<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.
2017-07-30 13:19:57
1333
原创 zookeeper客户端
客户端指令: 在zk中,每一次对数据节点的写操作,被认为是一次事务,每一个事务系统都会分配一个事务id,来标识这个事务查询相关指令ls / ls /node1 列出某节点下面子节点的信息stat 获取某节点的状态信息get 获取当前节点的数据内容ls2 列出某节点下面子节点的信息、即当前节点的状态创建相关指令(一个)create [-s] [-e] path data acl -
2017-06-14 16:21:46
338
原创 kafka初认识
集群配置修改配置文件server.properties(在两台或多台上做同样的处理 broker.id 分别配0 1 2 三台 )broker.id =0 当前机器序号0 num.io.threads=2 若log.dir有多个目录,那么该配置数应大于目录数,性能好一些 log.dir 消息持久化的目录,多个目录可用逗号隔开 持久化的时候,看哪个目录分区数最少,就放哪个 so
2017-06-13 22:38:58
425
原创 activeMQ
特性多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务) 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持S
2017-06-13 17:26:54
450
翻译 消息队列
http://blog.youkuaiyun.com/he90227/article/details/508006461.概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,Rocke
2017-06-13 10:26:17
278
原创 Mybatis-动态sql-17
if根据传进来的参数情况进行查询<!--• if--> <!--• choose (when, otherwise)--> <!--• trim (where, set) • foreach--><!--查询员工,要求携带了哪个字段查询条件就带上这个字段的值--> <!--public List<Employee> getEmpsByConditionIf(Employee
2017-06-10 17:04:34
294
原创 mybatis-分步查询方式传递多列的值-16
分步查询方式,需要传多列值如果需要将多列的值传递过去,可以封装map传递 column=”{key1=column1,key2=column2}”// fetchType: 有两个选项lazy eager 可以设置立即加载或延迟加载 // 下面的deptId是com.stayreal.mybatis.EmployeeMapperPlus.getEmpsByDeptId方法中接收的参数名<
2017-06-09 10:12:24
1320
原创 mybatis-查询(resultMap,关联集合)-15
场景:查询部门下的所有员工第一种方式:嵌套结果集方式 第二种方式:分步查询方式第一种方式:嵌套结果集方式javaBeanpublic class Department { private Integer id; private String name; private List<Employee> employees;}接口public Department getDepa
2017-06-09 10:00:13
1882
原创 mybatis-查询(resultMap,关联单个对象)-14
第一种方式:嵌套结果集方式 第二种方式:分步查询方式,通过association定义联合的对象 第三种方式:使用association分步查询场景:查出employee同时查出部门,employee–>departmentjavaBean和表public class Employee { private Integer id; private String lastName;
2017-06-09 09:54:09
1084
原创 mybatis-查询(resultMap 自定义结果集)-13
resultType是自动封装的,当resultType满足不了时: 1.驼峰命名法 2. resultMapresultMap 自定义结果集 强大且重要关闭驼峰命名法法测试public Employee getEmpById(Integer id);<!-- 自定义某个javaBean的封装规则 type:自定义规则的java类型 id:唯一方便引用 -->
2017-06-09 09:41:39
4251
原创 mybatis-查询(自动封装得resultType)-12
resultType是自动封装的查询listpublic List<Employee> getEmpsByLastName(String lastName);<select id="getEmpsByLastName" resultType="com.stayreal.mybatis.Employee"> select * from tbl_employee where last_name
2017-06-09 09:37:26
1303
原创 mysql-性能优化
表的优化与列类型选择空间换时间,时间换空间表的优化1.定长与变长分离 如id int占4个字节 char(4) 也占4个字节,这样在磁盘上好查找 核心且常用的字段 宜放在同一张表varchar\text\blob变长字段适合单放一张表,用主键与核心表关联起来 2. 常用字段和不常用字段分离 3. 在一对多关系中,在一的一方增加冗余字段 例如:catelog下有多条topic,统
2017-06-08 07:03:37
292
原创 mybatis-sql映射文件-获取自增主键值-1
EmployeeMapper.xml <!-- mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGeneratoredKeys(), useGeneratedKeys="true",使用自增主键策略 keyProperty:指定对应的主键属性,也就是mybatis获取到的主键值给javabean的哪个属性 --> <i
2017-06-07 17:05:50
561
原创 mybatis-sql映射文件-CRUD-1
非常重要: CRUD sql映射文件: <!--public void addEmp(Employee employee); parameterType可省略--> <insert id="addEmp" parameterType="com.stayreal.mybatis.Employee"> insert into tbl_employee(last_name,em
2017-06-07 16:54:48
280
原创 mybatis-全局配置文件-mybatis-config.xml-mappers-10
推荐:比较重要的,复杂的Dao接口来写sql映射文件 不重要的,简单的为了开发快速使用注解 <!-- 将sql映射注册到全局配置中--> <mappers> <!-- resource:引用类路径下的文件 url:引用磁盘路径下的资源 <mapper url="file:///var/mapp
2017-06-07 14:39:28
1524
原创 mybatis-全局配置文件-mybatis-config.xml-databaseIdProvider-9
Mybatis对多数据库厂商的支持,在不同的数据库环境下,执行不同的sql语句 步骤:1. mybatis-config.xml <!-- 支持多数据库厂商 DB_VENDOR,是别名,作用是得到数据库厂商的标识(驱动),mybatis就是根据数据库厂商标识来执行不同的sql MySQL,Orcle,SQL Server,... --> <databaseId
2017-06-07 11:24:36
1674
原创 mybatis-全局配置文件-mybatis-config.xml-enviroments-8
环境们 mybatis可以配置多种环境 1. environment,配置一个具体的环境信息,id代表环境的唯一标识,通过default指定某个环境,例如:development,test 2. transactionManager,事务管理器,type,事务管理器的类型(两个选项JDBC, MANAGED,是在Configuration类中的别名),了解即可,最后都要用spr
2017-06-07 11:00:43
573
原创 mybatis-全局配置文件-mybatis-config.xml- plugins-7
MyBatis allows you to intercept calls to at certain points within the execution of a mapped statementBy default, MyBatis allows plug-ins to intercept method calls of: • Executor (update, query, flushS
2017-06-07 10:45:27
1071
原创 mybatis-全局配置文件-mybatis-config.xml- typeAliases-5
为类起别名,如果觉得 EmployeeMapper.xml,resultType写全类名过长的话: 但是推荐写全类名<mapper namespace="com.stayreal.mybatis.EmployeeMapper"> <select id="getEmpById" resultType="com.stayreal.mybatis.Employee"> sele
2017-06-07 10:37:09
1351
原创 mybatis-全局配置文件-mybatis-config.xml-settings-4
mapUnderscoreToCamelCase是否开启驼峰命名: 如果开启驼峰命名,若数据库中表的字段为last_name,java类中属性的名为lastName,那么mybatis会自动将查询结果映射到lastName中mybatis-config.xml<settings> <setting name="mapUnderscoreToCamelCase" value="tru
2017-06-07 10:10:14
377
原创 mybatis-接口式编程(推荐使用此种)-2
在helloworld的基础上,有几点变更:创建一个接口public interface EmployeeMapper { public Employee getEmpById(Integer id);}修改EmployeeMapper.xml配置文件// namespace的值是接口的全路径名// id的值是接口中定义的方法<mapper namespace="com.stayreal
2017-06-06 16:57:29
339
原创 Mybatis学习-helloworld(从mybatis中读出一条数据)-1
特点开源的优秀持久层框架sql语句与代码分离面向配置的编程良好支持复杂映射动态SQL环境搭建下载 https://github.com/mybatis/mybatis-3/releases 帮助文档 \mybatis-3.2.8\mybatis-3.2.8\mybatis-3.2.8.pdf包导入工程日志配置
2017-06-05 16:51:41
557
原创 hibernate-事务并发处理-21
事务acid 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 事务并发可能出问题 08:00
2017-06-04 23:42:00
312
原创 hibernate-缓存算法-20
LRU list recently used(最近很少被使用的,先被拿走,即根据时间)LFU list frequently used(最近不常被使用,先被拿走,即根据访问次数)FIFO first in first outehcache.xml中三种算法都支持,可通过属性设置
2017-06-04 23:03:28
226
原创 hibernate-性能优化(3种缓存)-19
注意session.clear()的运用,尤其是在不断分页循环的时候 a.在一个大集合中进行遍历,遍历msg,取出其中含有敏感字体的对象 b.另外一种形式的内存泄漏 // java有内存泄漏吗? 代码级别没有,实际操作中会有,例如:打开数据库、读文件不关闭链接,hibernate的分页没有进行session.clear()1+N问题(典型面试题) 例如:一个Category,对应一个t
2017-06-04 20:56:41
269
原创 hibernate-hql-18
public class HQLThreeTest { public static SessionFactory sf = null; @BeforeClass public static void beforeClass(){ Configuration cfg = new AnnotationConfiguration(); sf = cfg
2017-06-03 23:56:38
268
原创 hibernate-HQL-17
public class HQLTwoTest { public static SessionFactory sf = null; @BeforeClass public static void beforeClass(){ Configuration cfg = new AnnotationConfiguration(); sf = cfg.c
2017-06-03 22:56:33
274
原创 hibernate-HQL(query language)-16
几种查询方式:nativeSQL 缺点:不能跨平台 优点:需要存储过程、复杂查询的时候 重要HQL(hibernate query language) 把hql语言 转换为方言EJB QL(JP QL 1.0) 可以认为是hql的子集QBCQBEpublic class HibernateORMappingTest { public static SessionFac
2017-06-03 22:33:52
319
原创 hibernate-继承映射-15(不太重要)
三种方式: 1. sigleTable(一张表) 2. tablePerClass(一个类一张表) 3. joined(一个主表存id和共有的字段等,其他的表存id和各子类特定的字段)
2017-06-02 17:31:10
291
原创 hibernate-14-集合映射(不太重要)
setlist// 是可排序的 和set区别不大 @OneToMany(mappedBy = "group",cascade = CascadeType.ALL) @OrderBy("name ASC") public List<User> getUsers() { return users; }map private Map<Inte
2017-06-02 16:57:13
336
原创 hibernate-关联关系中的crud-13
保存User类的情况many2one-one2many的双向关联中,例如group和user的关联,在User类中设置 @ManyToOne(cascade = {CascadeType.ALL}),在保存User的时候会级联保存group(all任何操作,persist 存储操作,remove删除)在@one2one,one2many,many2one等都可设置级联注意:它只是简
2017-06-01 15:01:38
249
原创 hibernate-关系映射-多对多(双向)-12
annotation方式:@Entitypublic class Teacher { private int id; private Set<Student> students = new HashSet<Student>(); @ManyToMany @JoinTable(name = "t_s", joinColumns={@JoinCol
2017-05-31 17:44:14
379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人