Druid

druid配置

筅森魡賤 提交于 2020-08-13 14:19:31
DruidDataSource配置兼容DBCP,但个别配置的语意有所区别。 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:"DataSource-" + System.identityHashCode(this). 另外配置此属性至少在1.0.5版本中是不起作用的,强行设置name会出错。 详情-点此处 。 url 连接数据库的url,不同数据库不一样。例如: mysql : jdbc:mysql://10.20.153.104:3306/druid2 oracle : jdbc:oracle:thin:@10.20.149.85:1521:ocnauto username 连接数据库的用户名 password 连接数据库的密码。如果你不希望密码直接写在配置文件中,可以使用ConfigFilter。 详细看这里 driverClassName 根据url自动识别 这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName initialSize 0 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时 初始bean时配置init方法 maxActive 8 最大连接池数量

多数据源配置方式

与世无争的帅哥 提交于 2020-08-13 13:42:40
一、pom.xml引入配置包 <!--多数据源配置--> <dependency> <groupId> com.baomidou </groupId> <artifactId> dynamic-datasource-spring-boot-starter </artifactId> <version> 2.2.3 </version> </dependency> 二、yml增加配置 spring : application : name : kzj-erp-bls datasource : # 使用druid数据源 druid : stat-view-servlet : loginUsername : admin loginPassword : 123456 dynamic : datasource : master : url : jdbc:sqlserver://192.168.60.2:1466;DatabaseName=master driver-class-name : com.microsoft.sqlserver.jdbc.SQLServerDriver username : sa password : 123456 druid : #以下均为默认值 initial-size : 3 max-active : 8 min-idle : 2 max-wait : -1

SpringBoot2.0整合SpringSecurity,Mybatis,Layui框架从零开始实现登入登陆的增删查改

╄→尐↘猪︶ㄣ 提交于 2020-08-13 13:24:48
一、工具说明 开发工具:idea2019 jdk版本:1.8 数据库: Mysql5.0+ 二、项目说明 基于springboot2.0,整合druid, jpa , thymeleaf,layui,mybatis,maven,springsecurity框架实现登入登出的管理系统。 三、项目搭建 1、快速搭建maven项目 (1)点击左侧Maven,选择Jdk1.8,选中 Create from archetype,点击next。 (2)填写项目信息,点击next (3)选择项目位置,点击finish。 (4)项目结构图如下: 2、引入相关依赖 <!-- springboot 2.0.9 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.9.RELEASE</version> </parent> <dependencies> <!--springboot -web 组件,整合 springmvc,spring --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

数仓大法好!跨境电商 Shopee 的实时数仓之路

微笑、不失礼 提交于 2020-08-13 08:37:31
作者:黄良辉 本文讲述 Flink 在 Shopee 新加坡数据组(Shopee Singapore Data Team)的应用实践,主要内容包括: 实时数仓建设背景 Flink 在实时数据数仓建设中结合 Druid、Hive 的应用场景 实时任务监控 Streaming SQL 平台化 Streaming Job 管理 未来规划优化方向 建设背景 Shopee 是东南亚与台湾领航电商平台,覆盖新加坡、马来西亚、菲律宾、台湾、印度尼西亚、泰国及越南七大市场,同时在中国深圳、上海和香港设立跨境业务办公室。 Shopee在2020年第一季的总订单量高达4.298亿,同比增长111.2%。 根据App Annie, Shopee在 2020年第一季强势跻身全球购物类 App下载量前三名。 同时斩获东南亚及台湾市场购物类 App 年度总下载量、平均月活数、安卓使 来源: oschina 链接: https://my.oschina.net/u/4266664/blog/4315005

Java 考试系统项目源码 springboot mybaits vue.js 前后分离跨域

馋奶兔 提交于 2020-08-12 20:53:28
------------------------------------------------- 题库管理 22 . 图片库:创建文件目录,维护图片,供题库选择调用 23 . 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析 24 . 多选题:维护多选试题,试题题目,选项,答案,类型,级别,状态,解析 25 . 判断题:维护判断试题,试题题目,答案,类型,级别,状态,解析 26 . 填空题:维护填空试题,试题题目,答案,类型,级别,状态,解析 27 . 问答题:维护问答试题,试题题目,答案,类型,级别,状态,解析 28 . 复合题:维护复合试题,富文本编辑器,试题题目,答案,类型,级别,状态,解析 ------------------------------------------------- 试卷 管理 29 . 组建试卷:创建试卷,题目、类型、总分、及格分数、时长、出成绩方式、重复考试、公布答案、考试对象等 试卷题型:试卷明细,给试卷添加题型,分值,随机或者手动从题库选择试题,预览试题,自动合计试卷总分 30 . 试卷列表:维护试卷,预览试卷,操作发放试卷 ------------------------------------------------- 考试 管理 31 . 正在考试:查看正在考试的试卷信息,预览试卷内容,查看考生成绩,结束考试操作 32

流媒体与实时计算,Netflix公司Druid应用实践

我们两清 提交于 2020-08-12 16:39:41
Netflix(Nasdaq NFLX),也就是网飞公司,成立于1997年,是一家在线影片[租赁]提供商,主要提供Netflix超大数量的[DVD]并免费递送,总部位于美国加利福尼亚州洛斯盖图。1999年开始订阅服务。2009年,该公司可提供多达10万部DVD电影,并有1千万的订户。2007年2月25日,Netflix宣布已经售出第10亿份DVD。 Netflix已经连续五次被评为顾客最满意的网站。可以通过PC、TV及iPad、iPhone收看电影、电视节目,可通过[Wii],[Xbox360],[PS3]等设备连接TV。Netflix是全球领先的经营在线业务公司。它成功地把传统的影像租赁业务和现代化的市场营销手段、先进的IT网络技术结合起来,从而开创了在线影像租赁的新局面。Netflix通过整合其自身的营销手段和最近的IT网络技术,成功地改变了消费习惯和打造了自己的品牌优势。 Netflix在2011年开始探索自制内容的举动并不被看好。直到2013年,其首部自制剧《纸牌屋》取得爆红后,舆论冲击及股票下滑的趋势才得以扭转。这也让Netflix成功打响了平台自制内容的第一炮。 2019 年 7 月 4 日,网飞的原创剧《怪奇物语》第三季开播,一如往常地一口气放出 12 集,再次掀起话题热潮。取得这样的成功,网飞自然是高兴不已。7 月 8 日,这家通常并不爱自夸成绩的公司表示,有近

解决: Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :&apos;like "%"?"%"

大城市里の小女人 提交于 2020-08-12 01:47:20
问题: Caused by: com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'like "%"?"%" 解决 1.使用 (CONCAT('%',#{字段}), '%') name like CONCAT('%',#{name}, '%') 2.使用 '%${字段}%' name like '%${name}%' 推荐第一种,可以防止sql注入 来源: oschina 链接: https://my.oschina.net/manlu/blog/4307861

LSM设计一个数据库引擎

回眸只為那壹抹淺笑 提交于 2020-08-11 19:47:16
Log-Structured Merge-Tree,简称 LSM。 以 Mysql、postgresql 为代表的传统 RDBMS 都是基于 b-tree 的 page-orented 存储引擎。现代计算机的最大处理瓶颈在磁盘的读写上,数据存储无法绕开磁盘的读写,纯内存型数据库除外,但由于内存存储的不稳定性,我们一般只将内存型的存储作为缓存系统。 为提升数据库系统的写性能,我们发现磁盘的 顺序写性能远远大于随机写性能 ,甚至性能高于内存的随机写。所以在很多偏向写性能的数据库系统中,以牺牲一部分读性能和增大写放大的情况下引入了 LSM 数据结构。 设计一个数据库引擎 我们从头开始设计一个数据库引擎。数据模型很简单,我们选最简单的 Key-Value 结构,一条数据只有一个 Key 和一个 Value。操作只有 get 和 put,如下: get(key); put(key, value); 从最简单的开始,每个数据库一个 data.db 文件,我们像写日志一样,将每条记录 append 到文件结尾。 key1,value1 key2,value2 key3,value3 key10,value10 key8,value8 这样我们已经完成了 80%了,然后需要完成读功能。如上数据文件,若需要查询 key2 数据,我们只能从文件开头开始遍历,当直到读取到 key2 数据: for

Spring+MyBatis+SpringMvc+Mysql+Druid+PageHelper分页实现

自闭症网瘾萝莉.ら 提交于 2020-08-11 14:58:28
我是阿福,公众号「阿福聊编程」作者, 一个在后端技术路上摸盘滚打的程序员 ,在进阶的路上,共勉!文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。 思路分析 MyBatis的PageHelper插件(后台) 作用 以完全非侵入的方式在原有查询基础上附加分页效果。从SQL层面来说,在SQL语句后面附加LIMIT子句。从Java代码来说,把原来返回的List类型封装为Page类型。 依赖信息 <!-- MyBatis分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.0.0</version> </dependency> 配置方式 那么如何让插件起作用呢?就需要在SqlSessionFactoryBean中配置MyBatis插件 <!--配置SqlSessionFactoryBean--> <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--装配数据源--> <property name="dataSource" ref="dataSource"></property

自己动手写SQL执行引擎

徘徊边缘 提交于 2020-08-11 10:27:05
自己动手写SQL执行引擎 前言 在阅读了大量关于数据库的资料后,笔者情不自禁产生了一个造数据库轮子的想法。来验证一下自己对于数据库底层原理的掌握是否牢靠。在笔者的github中给这个database起名为Freedom。 整体结构 既然造轮子,那当然得从前端的网络协议交互到后端的文件存储全部给撸一遍。下面是Freedom实现的整体结构,里面包含了实现的大致模块: 最终存储结构当然是使用经典的B+树结构。当然在B+树和文件系统block块之间的转换则通过Buffer(Page) Manager来进行。当然了,为了完成事务,还必须要用WAL协议,其通过Log Manager来操作。 Freedom采用的是索引组织表,通过DruidSQL Parse来将sql翻译为对应的索引操作符进而进行对应的语义操作。 MySQL Protocol结构 client/server之间的交互采用的是MySQL协议,这样很容易就可以和mysql client以及jdbc进行交互了。 query packet mysql通过3byte的定长包头去进行分包,进而解决tcp流的读取问题。再通过一个sequenceId来再应用层判断packet是否连续。 result set packet mysql协议部分最复杂的内容是其对于result set的读取,在NIO的方式下加重了复杂性。