一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

java中执行Sql语句的Statement详细用法

statement-相关概述 Statement 对象用于将 SQL 语句发送到数据库中。实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器:Statement、PreparedStatement(它从 Statement 继承而来)和CallableStatement(它从 PreparedStatement 继承而来)。它们都专用于发送特定类型的 SQL 语句:Statement 对象用于执行不带参数的简单 SQL 语句;PreparedStatement 对象用于执行带或不带 IN参数的预编译 SQL 语句;CallableStatement 对象用于执行对数据库已存储过程的调用。 Statement 接口提供了执行语句和获取结果的基本方法。PreparedStatement 接口添加了处理 IN 参数的方法;而CallableStatement 添加了处理 OUT 参数的方法。 有些 DBMS将已存储过程中的每条语句视为独立的语句;而另外一些则将整个过程视为一个复合语句。在启用自动提交时,这种差别就变得非常重要,因为它影响什么时候调用commit 方法。在前一种情况中,每条语句单独提交;在后一种情况中,所有语句同时提交。 1、创建 Statement 对象 建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示:

为了执行 Statement 对象,被发送到数据库的 SQL 语句将被作为参数提供给 Statement 的方法:

2、使用 Statement 对象执行语句 Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和execute。使用哪一个方法由 SQL 语句所产生的内容决定。 方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。 方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQLDDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE语句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。 方法 execute用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能,所以本概述后面将在单独一节中对其进行介绍。 执行语句的所有方法都将关闭所调用的 Statement 对象的当前打开结果集(如果存在)。这意味着在重新执行 Statement对象之前,需要完成对当前 ResultSet 对象的处理。 应注意,继承了 […]

龙生   20 Aug 2023
View Details

使用Statement 的addBatch方法批量导入数据库

  from:https://www.cnblogs.com/ivywenyuan/p/4148541.html

龙生   20 Aug 2023
View Details

java执行SQL脚本文件

1. 在工作中很多时候需要执行一个SQL脚本文件到数据库中作为初始化数据;spring提供了一个工具类ScriptUtils,具体用法如下:

  2. 但是有时候我们的SQL脚本文件很大,甚至是几百mb,这样容易造成内存溢出的情况,因此我写了一个工具类,对SQL脚本进行拆解,然后批量执行。  这样每批量执行后,就清空缓存中的SQL,因此解决内存溢出问题。如下: 具体还没有用大数据量的脚本测试,等周一到公司再测试一下吧,哈哈哈。。。

  from:https://www.cnblogs.com/fangyan1994/p/14123592.html

龙生   20 Aug 2023
View Details

记一次apollo连接失败处理

服务器:centos7 apollo:1.7 开发环境:springboot2.3 1.整合

  2.启动时异常

  3.分析原因 http://192.168.1.26:8080 这个地址不是我eureka的地址,所以才找的时候会找不到 4.解决办法 启动的环境变量中加入: -Dapollo.configService=http://192.167.2.123:8080 将地址改为eureka的地址就好 ———————————————— 版权声明:本文为CSDN博主「weixin_38777065」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_38777065/article/details/113527235

龙生   20 Aug 2023
View Details

ntpdate提示

19 Jan 10:33:11 ntpdate[29616]: no server suitable for synchronization found   这种问题从下面几个点开始验证 1.查看防火墙是否开通udp的123端口,是udp 无法使用telnet来验证,只能看iptables和硬墙是否有策略 2.如果端口开通,查看服务器端的ntp.conf文件中server是否正常,如果配置有问题,肯定无法使用 3.修改配置是否重新启动ntpd服务 4.查看服务端ntpd进程是否正常   ntpdate -d ntp服务端ip 遇到的几个问题 1.Server dropped:no data 处理办法:网络不通,检查防火墙的udp端口123是否能用,查看服务端的ntpd服务是否启动

  2.Server dropped: strata too high 这个问题一般都是server端ntp.conf中server行配置了网络ntp的服务端url导致,可以收到ntp的包,但是延迟很高。

  解决办法就是将服务端也开启ntpdate 然后通过ntpdate链接网络url的ntp服务器,然后在ntp.conf中配置server 127.127.1.0   (记住 不是127.0.0.1 这个无效) 在打开ntpq -p 查看是否转为LOCAL了

  正确的ntpdate -d 应该是下面的

ps:以上ip均已做脱敏处理   from:https://www.cnblogs.com/zclinux/p/14296884.html

龙生   14 Aug 2023
View Details

Nginx代理mysql端口

Nginx代理mysql端口
1、安装1.9以上版本nginx并配置stream模块。
stream{
upstream mysqlBackend{
hash $remote_addr consistent;
#原数据库的ip及端口
server 127.0.0.1:3306;
}

server {
#需要路由的端口
listen 13306;
proxy_pass mysqlBackend;
}
}

龙生   11 Aug 2023
View Details

Centos离线安装openJDK1.8(适用于离线yum安装其它软件)

总体思路
1.在能够联网的机器上使用repotrack工具下载软件所需的所有依赖,并使用createrepo工具创建yum仓库。
2.将yum仓库文件夹打包上传到没有互联网环境的服务器上,配置成本地yum仓库,然后就可以像互联网环境下使用yum命令一样安装软件了(不止适用于openjdk,其它软件也可以用此方法)

龙生   11 Aug 2023
View Details

8 款免费的 MySQL 数据库建模工具

MySQL Workbench
SQL Power Architect
PDMan
RISE
GenMyModel
DB Designer
dbdiagram.io
Freedgo

龙生   05 Aug 2023
View Details

Mybatis中强大的resultMap

在Mybatis中,有一个强大的功能元素resultMap。当我们希望将JDBC ResultSets中的数据,转化为合理的Java对象时,你就能感受到它的非凡之处。正如其官方所述的那样:
resultMap元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的长达数千行的代码。ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。

龙生   05 Aug 2023
View Details

Spring boot @Scheduled(cron = "* * * * * *") cron表达式详解

“30 * * * * ?” 每半分钟触发任务
“30 10 * * * ?” 每小时的10分30秒触发任务
“30 10 1 * * ?” 每天1点10分30秒触发任务
“30 10 1 20 * ?” 每月20号1点10分30秒触发任务
“30 10 1 20 10 ? *” 每年10月20号1点10分30秒触发任务
“30 10 1 20 10 ? 2011” 2011年10月20号1点10分30秒触发任务
“30 10 1 ? 10 * 2011” 2011年10月每天1点10分30秒触发任务
“30 10 1 ? 10 SUN 2011” 2011年10月每周日1点10分30秒触发任务
“15,30,45 * * * * ?” 每15秒,30秒,45秒时触发任务
“15-45 * * * * ?” 15到45秒内,每秒都触发任务
“15/5 * * * * ?” 每分钟的每15秒开始触发,每隔5秒触发一次
“15-30/5 * * * * ?” 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次
“0 0/3 * * * ?” 每小时的第0分0秒开始,每三分钟触发一次
“0 15 10 ? * MON-FRI” 星期一到星期五的10点15分0秒触发任务
“0 15 10 L * ?” 每个月最后一天的10点15分0秒触发任务
“0 15 10 LW * ?” 每个月最后一个工作日的10点15分0秒触发任务
“0 15 10 ? * 5L” 每个月最后一个星期四的10点15分0秒触发任务
“0 15 10 ? * 5#3” 每个月第三周的星期四的10点15分0秒触发任务

龙生   03 Aug 2023
View Details
1 26 27 28 279