04、JDBC范例
范例: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范例的更多相关文章
- 03、JDBC范例
范例:JDBC查询 package com.hsp; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...
- HQL连接查询
HQL提供了连接查询机制如内连接,外连接,,还允许显示指定迫切内连接,和迫切外联结. 连接类型 内连接 inner join 或join 迫切内链接 inner join fetch 左外联结 le ...
- Hibernate三种批量处理数据
概念:批量处理数据是指在一个事务场景中处理大量数据. 在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 execute ...
- JDBC简单范例
连接工具类 import java.sql.Connection; import java.sql.DriverManager; public class DBUtil { // 建立连接方法 pub ...
- 从零开始学JAVA(04)-连接数据库MSSQL(JDBC准备篇)
在JAVA中可以使用JDBC连接数据库,不管是哪种数据库,首先必须下载驱动,包括Windows的MSSQL. 1.下载MSSQL的JDBC驱动,可以通过百度“Microsoft JDBC Driver ...
- spring框架总结(04)----介绍的是Spring中的JDBC模板
1.1 Jdbc模板概述 它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在spring-jd ...
- jdbc 04: 配置连接信息
jdbc连接mysql,将需要的信息配置到文件中 package com.examples.jdbc.o4_配置连接信息; import java.sql.Connection; import jav ...
- C语言范例学习04
第三章 算法 前言:许多人对算法的看法是截然不同的,我之前提到过了.不过,我要说的还是那句话:算法体现编程思想,编程思想指引算法. 同时,有许多人认为简单算法都太简单了,应当去学习一些更为实用的复杂算 ...
- 使用JDBC处理MySQL大数据
一.基本概念 大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据,例如图像.声音.二进制文等. 在实际开发中,有时 ...
随机推荐
- CSU 1809 Parenthesis 思维+线段树
1809: Parenthesis Submit Page Summary Time Limit: 5 Sec Memory Limit: 128 Mb Submitte ...
- Mysql InnoDB引擎下 事务的隔离级别
mysql InnoDB 引擎下事物学习 建表user CREATE TABLE `user` ( `uid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ...
- 【Nginx】基础学习概览【汇总】
一.Nginx 简介安装启动 二.Nginx的应用场景 三.Nginx中的配置命令 四.实现动态负载均衡 五.四层负载均衡 六.主从热备 七.动静分离 一.Nginx 简介安装启动 [Nginx]简介 ...
- Spring boot出现Cannot determine embedded database driver class for database type NONE
在spring boot项目中,我们在pom.xml文件中添加了mysql和mybatis的依赖,我们常常遇到下面这样的问题: Description: Cannot determine embedd ...
- Linux系统卡死后紧急处理
前言:Linux系统卡死了的情况有很多,最常见的是系统负载过高导致的.还可以运行内存耗用极大的程序(如虚拟机),也会迅速提升系统负载.注意:不能再试图依赖任何图形界面的东西,如 Gnome的系统监视器 ...
- MySQL查看当前用户
mysql> select current_user();+----------------+| current_user() |+----------------+| root@localho ...
- Visual Studio Code编写C/C++代码常见问题
我会把一些常见问题以及自己编写代码过程中遇到的问题以及解决方案放在这里,各位若是遇到的问题也可以在评论区留言. 一.头文件Error 不会影响编译运行,但会报Warm,如下图 解决方案是安装Inclu ...
- stm32 新建工程
先新建六个文件夹. Consis:启动文件等 Fwlib:inc.src文件夹 Hardware:存放驱动 Mdk:工程文件 User:main函数等
- Thinkphp5.0 仿百度糯米 开发多商家 电商平台(完整版)
目录第1章 课程简介第2章 需求分析第3章 快速掌握thinkphp5第4章 任性的TP5模块第5章 生活服务分类管理模块第6章 百度地图应用封装第7章 打造属于TP5自己的发送邮件服务第8章 商户模 ...
- ansible-playbook流程控制-loops循环使用
1. ansible-playbook流程控制-loops循环使用 有时你想要多次重复任务.在计算机编程中,这称为循环.common ansible循环包括使用文件模块更改多个文件和/或目录的所 ...