jdbc

Java连接SQL数据库

落爺英雄遲暮 提交于 2020-04-08 01:24:42
Java连接SQL数据库 方法一:安装Microsoft SQL Server 2000 Driver for JDBC后,将lib目录下的msbase.jar , mssqlserver.jar, msutil.jar 复制到JDK的主目录下,具体是jdk1.4jrelibext . 完成后编写一下代码 原理:使用jdbc-odbc桥进行连接 try{ Connection con; Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //注册驱动 con = DriverManager.getConnection("jdbc:microsoft:sqlserver://你的IP:1433;databaseName=数据库名","sa","你的密码");// Statement sta = con.createStatement(); //执行sql语句的容器 String str = "select * from 表名"; ResultSet re = sta.executeQuery(str); //执行完的结果赋给 ResultSet while(re.next()){ //通过游标对数据进行访问 String 字段名= re.getString("字段名"); System.out.println(

Print the data in ResultSet along with column names

◇◆丶佛笑我妖孽 提交于 2020-04-07 11:16:09
问题 I am retrieving columns names from a SQL database through Java. I know I can retrieve columns names from ResultSet too. So I have this sql query select column_name from information_schema.columns where table_name='suppliers' The problem is I don't know how can I get columns names from ResultSet and my code is public void getAllColumnNames() throws Exception{ String sql = "SELECT column_name from information_schema.columns where table_name='suppliers'"; PreparedStatement ps = connection

Packet for query to large. Setting max_allowed_packet

我与影子孤独终老i 提交于 2020-04-07 08:08:08
问题 When i connect to my databse via phpmyadmin everything works fine and it shows me the data. When i am on my server i can see all data and work with it. But when i try to connect to my server i'm getting this error: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (4.739.923 > 65.535). You can change this value on the server by setting the 'max_allowed_packet' variable. im getting the max allowed packet size here: Database changed MariaDB [selforder]> SELECT @

java语法基础

a 夏天 提交于 2020-04-07 07:19:39
java很多语法都跟C#类似,下面列举一些不同的地方******注意***** java中的系统方法首字母都是小写的,而C#中首字母都是大写的 1、java中继承的用法   class children extends parent   {   } 而c#中:   class children :parent   {   } java中继承接口的用法   class children implements parent   {   } 而c#中:   class children :parent   {   } 2、还有一点很重要的事java中的main函数所在的类名必须和文件名相同。   其次是在一个文件中只能main函数所在的类是public修饰的,其他不能带public ,一个文件中只能有一个public类。   java中的静态成员既可以实例化对象调用,也可以类名来点出来,非静态成员只能实例化对象调用。****没有静态类   而在C#中静态成员不能实例化对象调用 3、java中方法的重写就方法的覆盖,貌似真的是覆盖,就是重新写一遍   而C#中的重写要用关键字override,并且只能是抽象和虚方法或者标记为override才能重写。 4、java中有一个特殊的static语句块功能,static语句块中的语句在构造函数之前执行且只执行一次 5、java和C

JDBC Statement PreparedStatement CallableStatement

不羁岁月 提交于 2020-04-06 22:43:28
在 JDBC 应用程序中,JDBC 语句对象用于将 SQL 语句发送到数据库服务器。一个语句对象与一个连接相关联,应用程序与数据库服务器之间的通信由语句对象来处理。 JDBC 中有三种类型的语句对象: 1. 常规语句(General statement) 2. 预置语句(Prepared statement) 3. 可调用语句(Callable statement) 语句对象与一个连接相关联,所以要创建一个语句对象,首先应该建立一个数据库连接。连接的获取见上一篇博客。 关于这三种语句,个人觉得最有价值的就是 预置语句,下面说说为什么 1) 预置语句 可以避免sql参数注入。如果使用常规的statement,那么用户可以注入sql语句,把一个本应该是传入参数的变量变成了SQL注入变量。然而,如果使用预置语句,那么变量的值是不可能传入SQL的。这个在查询的时候如果你把条件设为 or 1=1 得到体现。 2) 预置语句 可以高效操作,原因是语句只要编译一次。对于一条模板SQL,我们可能需要执行多次,每次只是传入的参数不一样,那么如果我们使用常规语句则会每次执行时在数据库编译一次,然而,如果采用预置语句,则只会编译一次,这样效率大大提高。 3) 预置语句 可以批量操作。对于一些特殊的业务逻辑处理,我们可能会一次更新多条数据,然而如果我们每次都去获取语句执行SQL的话效率必然降低,但是

java JDBC 连接MySql

别等时光非礼了梦想. 提交于 2020-04-06 21:55:28
Java连接数据库(以MySQL为例)2007-04-05 02:23 这篇文章主要以MySQL为例讲下Java如何连接到数据库的。 当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。 环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。 我是用SQLyog的前端软件来创建Database的。 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE TABLE STUDENT ( SNO CHAR(7) NOT

Understanding JDBC Internals & Timeout Configurati

安稳与你 提交于 2020-04-06 19:55:21
An application with a proper JDBC timeout can cut down the failure time. In this article we would like to talk about different kinds of timeout values and recommended timeout application methods when you import values from DBMS. Web Application Server became unresponsive after a DDos attack one day (This is a close reconstitution of an actual event.) The entire service did not work normally after a DDos attack. The network was disconnected because L4 was not working, which caused WAS to be inoperable as well. Shortly afterwards, the security team blocked all DDos attacks, and restored the

MySQL 8.0驱动

旧城冷巷雨未停 提交于 2020-04-06 18:40:37
MySQL 8.0 开始数据库相比常用的 5.X 版本发生了比较大的变化,我们在连接数据库的过程中许多地方也要发生一些变化。 总结一下,想要利用 mysql-connector-java 与 MySQL 8.X 版本建立连接,有以下四个方面与 MySQL 5.X 版本相比发生了变化。 1、 MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.X.jar   MySQL 版本和 mysql-connector-java 版本对应关系如下,MySQL官方也是推荐使用 mysql-connector-java-8.X.jar 去连接 MySQL 8.0 的版本 Connector/J version Driver Type JDBC version MySQL Server version Status 5.1 4 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* General availability 8.0 4 4.2 5.6, 5.7, 8.0 General availability. Recommended version    2、com.mysql.jdbc.Driver 更换为 com.mysql. cj .jdbc.Driver。 3、 MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显式关闭。  

tomcat连接常用数据库的用法

空扰寡人 提交于 2020-04-06 10:24:46
一、用于数据库连接的术语: JDBC:(Java database connectivity)是基于java数据访问技术的一个API通过客户端访问服务器的数据库,是一个面向关系型数据库并提供一种方法查询和更新数据库; JNDI:(Java naming and directory interface)JNDI服务提供了对应用程序命名和目录功 能的一种用java程序编写的基于API的java平台; DataSource:是一个通过JDBC API访问关系型数据库的java对象,当与JNDI整合并在JDNI 名称服务中注册后能更好的工作; 二、tomcat连接常用数据库的操作步骤: (1)Tomcat配置Oracle DataSource: 1、在server.xml全局文件中定义如下内容: < GlobalNamingResources > <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users-- > < Resource name= "jdbc/tomcat7" auth= "Container" type= "javax.sql.DataSource" driverClassName= "oracle.jdbc.OracleDriver" url=