范例:JDBC查询

package com.hsp;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Date;

public class testDatabase {

/**

* @param args

*/

public static void main(String[] args) {

Connection con = null;

String DBname = "jdb"; //数据库名字

String url = "jdbc:mysql://localhost:3306/"+DBname+"?useSSL=true&characterEncoding=utf-8";

String username = "root";//数据库账号

String password = "root";//数据库密码

Statement sql = null;

ResultSet rs = null;

try {

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(url, username, password);//连接代码

sql = con.createStatement();

rs = sql.executeQuery("SELECT * FROM students");//查询student表中的数据

while(rs.next()){

String number = rs.getString(1);

String name = rs.getString(2);

Date date = rs.getDate(3);

float height = rs.getFloat(4);

System.out.println("number:"+number+" name:"+name+" date:"+date+" height:"+height);

}

con.close();//con必须等rs调用完数据后才能关闭,否则查询不到数据

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

}

}

范例:封装JDBC查询

package com.hsp;

import java.sql.*;

public class JdbcMysql {

public static void main(String[] args) throws SQLException, ClassNotFoundException {

// TODO Auto-generated method stub

Connection con = null;

Statement sql = null;

ResultSet rs = null;

con = GetDBConnection.ConnectDB("jdb", "root", "root");

String query = "SELECT * FROM STUDENTS";

if(con==null){

System.out.println("连接错误");

return ;

}

try {

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

rs = sql.executeQuery(query);

rs.last();

int max = rs.getRow();

System.out.println("表共有"+max+"条记录"+",随机抽取2条记录");

int a[] = GetRandomNmber.getRandomNumber(max,2);

for(int i:a){

rs.absolute(i);

String number = rs.getString(1);

String name = rs.getString(2);

Date date = rs.getDate(3);

float height = rs.getFloat(4);

System.out.println("number:"+number+" name:"+name+" date:"+date+" height:"+height);

}

con.close();

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

}

}

package com.hsp;

import java.sql.Connection;

import java.sql.DriverManager;

public class GetDBConnection {

public static Connection ConnectDB(String DBname,String username,String password) {

Connection con = null;

String url = "jdbc:mysql://localhost:3306/"+DBname+"?useSSL=true&characterEncoding=utf-8";

try {

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(url, username, password);

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

return con;

}

}

package com.hsp;

import java.util.Random;

public class GetRandomNmber {

public static int[] getRandomNumber(int max,int amount){

//1至max之间的amount个不同随机整数 包括(1和max)

int [] randomNumber = new int[amount];

int index = 0;

randomNumber[0] = -1;

Random random = new Random();

while(index<amount){

int number = random.nextInt(max)+1;

boolean  isInArrays = false;

for(int m:randomNumber){//m依次去数组randomNumber元素的值

if(m==number)

isInArrays = true;//number在数组里了

}

if(isInArrays==false){

//如果number不在数组randomNumber中

randomNumber[index] = number;

index++;

}

}

return randomNumber;

}

}

范例:JDBC多条件查询

package com.hsp;

import java.sql.*;

public class JdbcMysql {

public static void main(String[] args) throws SQLException, ClassNotFoundException {

// TODO Auto-generated method stub

Connection con = null;

Statement sql = null;

ResultSet rs = null;

con = GetDBConnection.ConnectDB("jdb", "root", "root");

String query = "SELECT * FROM STUDENTS";

String c1 = " year(birthday)<=2000 and month(birthday)>7";//查询条件1

String c2 = " name Like 'z_%'";//查询条件2

String c3 = " height >1.65";//查询条件3

String sqlStr = "SELECT * FROM students where "+c1+" and "+c2+" and "+c3+" order by birthday";

if(con==null){

System.out.println("连接错误");

return ;

}

try {

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

rs = sql.executeQuery(sqlStr);

while(rs.next()){

String number = rs.getString(1);

String name = rs.getString(2);

Date date = rs.getDate(3);

float height = rs.getFloat(4);

System.out.println("number:"+number+" name:"+name+" date:"+date+" height:"+height);

}

con.close();

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

}

}

package com.hsp;

import java.sql.Connection;

import java.sql.DriverManager;

public class GetDBConnection {

public static Connection ConnectDB(String DBname,String username,String password) {

Connection con = null;

String url = "jdbc:mysql://localhost:3306/"+DBname+"?useSSL=true&characterEncoding=utf-8";

try {

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(url, username, password);

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

return con;

}

}

范例:JDBC插入数据

package com.hsp;

import java.sql.*;

public class JdbcMysql {

public static void main(String[] args) throws SQLException, ClassNotFoundException {

// TODO Auto-generated method stub

Connection con = null;

Statement sql = null;

ResultSet rs = null;

con = GetDBConnection.ConnectDB("jdb", "root", "root");

String query = "SELECT * FROM STUDENTS";

String jilu = "('R1011','JS','2000-10-23',1.66),"+

"('R1010','LW','1989-7-22',1.76)";

String sqlStr = "insert into students values"+jilu;

if(con==null){

System.out.println("连接错误");

return ;

}

try {

sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

int ok = sql.executeUpdate(sqlStr);

rs = sql.executeQuery("select * from students");

while(rs.next()){

String number = rs.getString(1);

String name = rs.getString(2);

Date date = rs.getDate(3);

float height = rs.getFloat(4);

System.out.println("number:"+number+" name:"+name+" date:"+date+" height:"+height);

}

con.close();

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

}

}

package com.hsp;

import java.sql.Connection;

import java.sql.DriverManager;

public class GetDBConnection {

public static Connection ConnectDB(String DBname,String username,String password) {

Connection con = null;

String url = "jdbc:mysql://localhost:3306/"+DBname+"?useSSL=true&characterEncoding=utf-8";

try {

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(url, username, password);

} catch (Exception e) {

// TODO: handle exception

System.out.println(e);

}

return con;

}

}

04、JDBC范例的更多相关文章

  1. 03、JDBC范例

    范例:JDBC查询 package com.hsp; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...

  2. HQL连接查询

    HQL提供了连接查询机制如内连接,外连接,,还允许显示指定迫切内连接,和迫切外联结. 连接类型 内连接 inner join 或join 迫切内链接 inner join fetch 左外联结  le ...

  3. Hibernate三种批量处理数据

    概念:批量处理数据是指在一个事务场景中处理大量数据. 在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作  数据库层面  execute ...

  4. JDBC简单范例

    连接工具类 import java.sql.Connection; import java.sql.DriverManager; public class DBUtil { // 建立连接方法 pub ...

  5. 从零开始学JAVA(04)-连接数据库MSSQL(JDBC准备篇)

    在JAVA中可以使用JDBC连接数据库,不管是哪种数据库,首先必须下载驱动,包括Windows的MSSQL. 1.下载MSSQL的JDBC驱动,可以通过百度“Microsoft JDBC Driver ...

  6. spring框架总结(04)----介绍的是Spring中的JDBC模板

    1.1  Jdbc模板概述 它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在spring-jd ...

  7. jdbc 04: 配置连接信息

    jdbc连接mysql,将需要的信息配置到文件中 package com.examples.jdbc.o4_配置连接信息; import java.sql.Connection; import jav ...

  8. C语言范例学习04

    第三章 算法 前言:许多人对算法的看法是截然不同的,我之前提到过了.不过,我要说的还是那句话:算法体现编程思想,编程思想指引算法. 同时,有许多人认为简单算法都太简单了,应当去学习一些更为实用的复杂算 ...

  9. 使用JDBC处理MySQL大数据

    一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...

随机推荐

  1. MongoDb 快速翻页方法

    翻阅数据是MongoDB最常见的操作之一.一个典型的场景是需要在你的用户界面中显示你的结果.如果你是批量处理的数据,同样重要的是要让你的分页策略正确,以便你的数据处理可以规模化. 接下来,让我们通过一 ...

  2. Visual Studio 调试 —— 附加到进程(远程服务器)

    一般在部署环境下不会有 Visual Studio 开发工具的,所以需要有 Remote Debugger(远程调试器) 才可以进行远程调试. Remote Debugger 获取 方法一:Visua ...

  3. 锁和synchronized

    锁的常见概念 互斥: 同一时刻只有一个线程执行 临界区:一段需要互斥执行的代码 细粒度锁: 用不同的锁对受保护资源进行精细化管理. 细粒度锁可以提高并行度,是性能优化的一个重要手段 死锁 :一组互相竞 ...

  4. JDBC进行批处理Batch

    在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和pr ...

  5. 基于 HTML5 的 PID-进料系统可视化界面

    前言 随着工业物联网和互联网技术的普及和发展,人工填料的方式已经逐渐被机械设备取代.工业厂商减小误操作.提升设备安全以及追求高效率等制造特点对设备的要求愈加高标准.严要求.同时机械生产以后还需遵从整个 ...

  6. get和post请求方式的区别

    1.用途方面: get是向服务器请求数据,post是向服务器发送数据. 2.大小方面: get发送数据上有大小限制,post理想上无大小限制,实际上有限制. 3.安全方面: get请求的数据会显示在地 ...

  7. ubuntu下配置JDK,Eclipse,android开发环境

    前言:由于我的电脑是64位的,所以下面使用的jdk ; eclipse : 包括我安装的 ubuntu12.0.4LTS 都是64位的:如果你是32位请下载32位的系统以及jdk,eclipse等软件 ...

  8. 从零开始入门 K8s| 详解 Pod 及容器设计模式

    作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 一.为什么需要 Pod 容器的基本概念 我们知道 Pod 是 Kubernetes 项目里面一个非常重要的概念,也是非常重要的一个原子调度单 ...

  9. JavaScript之操作符

    计算机被发明的初衷仅仅是为了快速实现一些数学计算,然而经过多年发展,计算机已经不单单能实现快速计算这么简单的工作了,现代计算机不仅能够进行数值的计算,还能进行逻辑计算,还具备存储记忆功能,是能够按照程 ...

  10. 【linux】【jenkins】自动化运维五 整合邮件提醒

    1.安装插件 Email Extension Template Plugin 安装教程参考:https://www.cnblogs.com/jxd283465/p/11542680.html 2.系统 ...