随笔分类 - JavaWeb开发
基本问题
摘要:1.情景展示 在sql当中,boolean类型与Java当中的boolean存在怎样的对照关系? 2.具体分析 在MySQL中,BOOLEAN 或 BOOL 类型实际上是以 TINYINT(1) 来存储的。它通常用于表示真(TRUE)或假(FALSE)值。 在实际操作中,虽然直接可以使用 TRUE
阅读全文
摘要:1.情景展示 在配置文件当中,我们是可以使用list来设置参数对应的参数值的(也就是:参数值可以是list)。 YML文件 如上图所示,在配置文件当中(如:Yml) ,我们是可以直接使用list。 其格式就是: 下划线➕空格,后面跟数组元素即可,一行就代表一个元素。 properties文件 如果是
阅读全文
摘要:1.情景展示 在实际开发中,不同的地方可能所需使用的数据库是不同的。 这就要求,我们开发的程序需要兼容不同的数据库,放到程序里面就是: 需要有不同类型的sqlMap文件。以既要兼容MySQL,也要兼容Oracle进行举例说明。 2.准备工作 第一步 根据已经写好的一套sql进行复制,然后,在原有sq
阅读全文
摘要:1.准备工作 linux如果没有配置java环境变量的话,具体操作见文末推荐。 2.启动jar包 linux操作系统下启动jar包的方式和windows操作系统没有区别。 用法都是遵循java语法规范。 前提:跳转到要启动的jar包所在目录。 cd jar包所在绝对路径 使用默认jdk启动 查看当前
阅读全文
摘要:SELECT CASE WHEN dss.[status]=4 THEN 1 ELSE 0 END AS isRunning FROM [#db].sys.dm_server_services dss WHERE dss.[servicename] LIKE N'SQL Server Agent (
阅读全文
摘要:1.情景展示 以debezium为例,结合kafka很容易就能实现两个数据库表与表之间的数据同步问题。 但是,现在甲方有这样的需求: 其一,在源表数据同步至目标表时,目标表增加一个时间戳字段(就是我们通常意义上讲的last_update_time),无论是insert还是update操作,都在此字段
阅读全文
摘要:1.情景展示 用了这么多年,一直在用notepad++来记录临时文件内容。 现在改用visual studio后,发现这个前端开发工具是可以调http接口的。 为什么要在visual studio中测试http接口? 作为一个后端工程师,与接口打交道可谓是家常便饭,最开始自己使用的是: 在chrom
阅读全文
摘要:1.情景展示 在实际开发过程中,根据数据库的表生成对应的增删改查代码,最为常见。 除了使用公司封装的代码自动生成外,有没有通用的呢? 2.具体分析 在idea当中,我们可以使用MybatisX插件生成: 表对应的实体类、dao层所使用的的mapper.java文件、mybatis对应的xml文件、s
阅读全文
摘要:1.情景展示 在java当中,有时候我们不得不用jdbc来读取数据库数据,而不是通过mybatis框架。 这样就遇到一个问题: 如果表字段的数据类型为clob时,使用springboot默认进行序列化时,会报错。 如何解决? 2.具体分析 在springboot中,其默认的序列化类时Jackson。
阅读全文
摘要:1.情景展示 在实际开发中,我们往往会遇到这样的需求: 需要对多个数据库进行操作,这用mybatis等框架来进行操作显然不合理,也无法满足多样化的需求。 通过java来进行JDBC操作无疑是最好的选择。 如下图所示,通过org.springframework.jdbc.core.JdbcTempla
阅读全文
摘要:1.@PostConstruct介绍 定义:在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。 说明:被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。
阅读全文
摘要:1.kafka简介 kafka官网地址:https://kafka.apache.org/ kafka的本质 是一个数据存储平台,流平台 , 只是他在做消息发布,消息消费的时候我们可以把他当做消息中间件来用。 Kafka提供了一个Kafka Broker、一个Kafka Producer和一个Kaf
阅读全文
摘要:1.情景展示 使用debezium的插件:debezium-connector-mysql(io.debezium.connector.mysql.MySqlConnector),自动读取mysql日志binlog相关表的数据变更记录,然后将其发布到kafka topic当中。 现在遇到的问题是:
阅读全文
摘要:1.情景展示 在关闭kafka后,再次运行经常会出现闪退的情况。 2.具体分析 经过截屏发现:原来是kafka连接zookeeper超时,导致kafka启动失败。 kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting f
阅读全文
摘要:1.情景展示 使用debezium的Oracle插件(io.debezium.connector.oracle.OracleConnector)自动读取Oracle的归档日志。 当我对Oracle数据库受监控的表(待同步表),进行更新操作后,debezium会自动将变更记录推送到kafka当中。 新
阅读全文
摘要:1.情景展示 如上图所示: 在使用debezium读取mysql数据操作日志时(io.debezium.connector.mysql.MySqlConnector),报错: Caused by: io.debezium.DebeziumException: java.sql.SQLSyntaxEr
阅读全文
摘要:1.情景展示 在前后端交互过程当中,往往需要后端返回前端日期类型数据。 在后台程序,我们往往是不需要对日期类型数据进行格式化的,而在将数据返回给前端的时候,可能会需要对日期类型进行格式化。 如何很好的解决这个矛盾呢? 2.具体分析 最好的解决办法就是:只在返回前端数据时,进行格式转换。(也就是:序列
阅读全文
摘要:1.情景展示 在实际开发过程中,分页查询是最常见,也是使用频率最高的数据查询。 分页查询,如果我们进行手动在xml当中写SQL的话,起码要写两个SQL。一个是分页,一个是查询数据总数。 问题在于:这样做,会提高我们的工作量,而且这些也是很繁琐的过程。 能不能让我们只关注查询业务(查询SQL),而不用
阅读全文
摘要:1.情景展示 在实际开发过程中,我们有时候会遇到前端批量提交的数据。 诚然,如果我们使用for循环一次一次插入,也是可以的。 但这会涉及到对数据库频繁操作的问题,有没有更好的办法呢? 2.具体分析 我们可以通过mybatis的批量插入功能来解决这个问题。 只需要操作一次数据库,就能完成多条数据的插入
阅读全文
摘要:1.情景展示 在java当中实现定时任务,主要有两种。 一种是通过java源码实现,另一种是通过spring框架来实现。 由于我们现在基本上使用的都是spring框架(SpringMVC、SpringBoot),况且,使用spring实现定时任务,代码更加简洁。 那么,如何是想spring来实现呢?
阅读全文