范例: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;

}

}

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

  1. 04、JDBC范例

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

  2. java核心技术第四篇之JDBC第二篇

    01.JDBC连接池_连接池的概念: 1).什么是连接池:对于多用户程序,为每个用户单独创建一个Connection,会使程序降低效率.这时我们可以创建一个"容器", 这个容器中, ...

  3. 【JAVA EE企业级开发四步走完全攻略】

    本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划,单个发blog比较零散,所以整理此索引,决定以后每发一季JAVA EE blog后会 ...

  4. Java屌炸天学习路线图

            第一阶段:Java基础篇 编号 课程 课程目录 打包下载地址 讲师 01 J2SE(40课时) http://www.java1234.com/zy001.html http://pa ...

  5. JDBC简单范例

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

  6. Java开发工程师(Web方向) - 03.数据库开发 - 第1章.JDBC

    第1章--JDBC JDBC基础 通过Java Database Connectivity可以实现Java程序对后端数据库的访问 一个完整的数据库部署架构,通常是由客户端和服务器端两部分组成 客户端封 ...

  7. 玩转Spring全家桶笔记 03 Spring的JDBC操作以及SQL批处理的实现

    1 spring-jdbc core JdbcTemplate 等相关核心接口和类(核心) datesource 数据源相关的辅助类(内嵌数据源的初始化) object 将基本的JDBC操作封装成对象 ...

  8. jdbc 03:注册驱动的方式

    jdbc连接mysql时,注册驱动的方式 package com.examples.jdbc.o3_注册驱动方式; //mysql驱动所在的包 import com.mysql.jdbc.Driver ...

  9. jdbc学习笔记03

    作业: 1. 学生表(id,age,name) 2. 插入学生 3. 修改学生 4. 删除学生 5. 查询学生 JavaBean 俗称简单的Java对象 javaBean满足以下三点 1.私有属性 2 ...

随机推荐

  1. 【应用服务 App Service】App Service 中部署Java应用中文乱码现象

    问题情形 有时候部署在 Azure  App Service的 Java应用会出现乱码 详细日志 无 问题原因 因为 App Service默认的编码为gbk,所以在显示页面或传递中文字符时就会出现乱 ...

  2. vue多页面与单页面开发的区别。

    进入一家新的公司,要开发移动端app项目,前端技术选型时前端组长选的是vue的多页面开发,当时很蒙,vue不是单页面开发吗?咋出来多页面的.接触之后才发现确实存在也挺简单的,省去了路由表的配置.那就给 ...

  3. 超简单集成HMS ML Kit文字超分能力,一键提升文本分辨率

    前言 大家有没有遇到过这种情况,在浏览微博或者公众号时看到一段有趣的文字,于是截图发到朋友圈想和好友分享.但是在发布图片时,软件会对图片强制进行压缩,导致图片分辨率下降,文字变得模糊难以阅读.那么有没 ...

  4. pv操作是否会造成死锁呢?

    看了一些pv操作的例子,有一些基本原理不是想得很清楚. 有一个进程 while(true) { p(s); ...... v(s); } s的初值为1. 那么我的问题是,当多个该进程需要执行时,是否会 ...

  5. naicat如何查看表关系

    1.navict版本为:navict premium https://www.php.cn/tool/navicat/427617.html 参考上面链接 2. 这个版本的 目前就这些,后续进行补充

  6. tp5伪静态--宝塔

    location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }

  7. BlockCanary界面卡顿检测

    添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0' 运行后会同时安装检测工具,主要检测UI线程运行卡顿现象 pub ...

  8. 手撸ORM浅谈ORM框架之Delete篇

    快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...

  9. model的基础操作

    1.创建表 1.1 Meta源信息 from django.db import models class UserInfo(models.Model): username = models.CharF ...

  10. 利用VS2017制作软件安装包与卸载程序

    本博客讲述如何利用VS2017制作安装包以及相应的卸载程序,并解决过程中可能遇到的问题 一.制作安装程序 1.打开VS2017,新建项目,选择如下图所示程序: 新建成功后,会出现如下图所示目录: 2. ...