1.ResultSetMetaData接口主要获得结果集。例如:结果集字段数量和名字
通过ResultSet的getMetaData()方法获得对应对象

public class app17_20 {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/ku";
private static String user = "root";
private static String password = "root"; public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
Class.forName(driver);
conn = DriverManager.getConnection(url,user,password);
String sql = "SELECT * FROM student WHERE dept = '外语';";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsMateData = rs.getMetaData();
System.out.println("总共有:"+rsMateData.getColumnCount()+"列");
for (int i = 1; i <=rsMateData.getColumnCount() ; i++) {
System.out.println("列"+i+":"+rsMateData.getColumnTypeName(i)+","+
rsMateData.getColumnTypeName(i)+"("+rsMateData.getColumnDisplaySize(i)+")");
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally {
try{
if(rs!=null) rs.close();
if (stmt!=null) stmt.close();
if (conn!=null) conn.close();
}catch(Exception e)
{e.printStackTrace();}
}
}
}

2.获得结果集中字段名,字段名类型以及最大size
rsMateData.getColumnName();
rsMateData.getColumnTypeName();
rsMateData.getColumnDisplaySize();
3.实务操作:
事务是保证数据库的完整性和一致性,由SQL语句组成
事务就是为了确保程序中的多条SQL语句出问题时,设置的一种可以回滚到原来地方的机制

public class app17_21 {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/k";
private static String user = "root";
private static String password = "root";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String insertSql1 = "INSERT INTO Student(sNo,sName,sex,age,dept) VALUE('1','张三','男',15,'计算机');";
String insertSql2 = "INSERT INTO Student(sNo,sName,sex,age,dept) VALUE('2','李四','女',16,'外语')";
String insertSql3 = "INSERT INTO Student(sNo,sName,sex,age,dept) VALUE('3','王五','人妖',18,'金融')";
try{
conn = DriverManager.getConnection(url,user,password);//定义驱动对象
stmt = conn.createStatement();//SQL对象
boolean autoCommit = conn.getAutoCommit();//返回是否自动提交模式
conn.setAutoCommit(false);//取消自动提交
int i1 = stmt.executeUpdate(insertSql1);
int i2 = stmt.executeUpdate(insertSql2);
int i3 = stmt.executeUpdate(insertSql3);
conn.commit();//执行提交操作
conn.setAutoCommit(autoCommit);//还原自动提交操作
System.out.println(i1+" "+i2+" "+i3);
}
catch (Exception e) {
e.printStackTrace();
if(conn!=null){
try{
conn.rollback();//执行回滚
}
catch (SQLException e1){
e1.printStackTrace();
}
}
}
finally {
try{
if (stmt!=null) stmt.close();
if (rs!=null) rs.close();
}
catch (
Exception e
){
e.printStackTrace();
}
}
}
}

第二天:
&位运算与:1&1=1, 1&0=0, 0&0=0,。两个都为1才是1
|位运算或:1|1=1 , 0|1=1, 1|0=1, 0|0 = 0。只要有一个为1就是1
^位运算或与:110^001 = 111,不同为1
>>位右移:将二进制数右移动一位 x = 0101 x>>1;x=0010;
<<位左移动:将二进制数做移动一位 x = 0101 x<<1;x=1010
3.汉明距离,求两个数的二进制数的不同个数:
思考:二进制怎么跟十进制联系在一起
怎么计算不同的位置是否一样
第一步:利用异或求出两个十进制数在二进制时的异或结果
第二步:判断异或结果是否为0.二进制数最大1从31开始,位右移32次
第三步:将异或结果与1取按位与,两个都为1即,异或有不同
第四步:每右移一次,总不同数ret加一次
class solution{
public int hanming(int x,int y){
int s =x^y,ret = 0;
while(s!=0){
for(int i = 31,i>=0;i--){
ret+=s&1;
s>>=1}每次右移动一次
}
}
}
4.数据库:查找重复电子邮箱
group by 如何用 :
having 如何用:
第一种:select email from Person group by Email having count(count)>1;
distinct 如何用:
第二种:select distinct a.Email from Person a,Person b
where a.Email = b.Email and a.id!=b.id;

总结:今天了解字段名相关方法的返回,以及事务流程和作用

算法中,深刻的认识到位运算

数据库中,如何查找重复邮件值得琢磨,里面的group by 与having之前学过都忘了,还有distinct

明天,好好看下,补上,今天的不懂

五月二十七日jdbc,算法以及数据库的更多相关文章

  1. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  2. 一种基于Rsync算法的数据库备份方案设计

    根据容灾备份系统对备份类别的要求程度,数据库备份系统可以分为数据级备份和应用级备份.数据备份是指建立一个异地的数据备份系统,该系统是对原本地系统关键应用数据实时复制.当出现故障时,可由异地数据系统迅速 ...

  3. 2017.11.12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

  4. [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...

  5. JDBC连接MySQL数据库代码模板

    下面这个例子是最简单的JDBC连接MySQL数据库的例子. 一般步骤: 1.注册驱动: 2.建立连接: 3.创建语句: 4.处理结果: 5.释放资源. 注意: 1.软件开发环境:MyEclipse 8 ...

  6. JAVA使用JDBC技术操作SqlServer数据库执行存储过程

    Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...

  7. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  8. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  9. JDBC操作MySQL数据库案例

    JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  10. JDBC连接各种数据库的字符串,就是不好记

    JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘. oracle    driverClass:oracle.jdbc.driver.OracleDriver    url:jdbc:ora ...

随机推荐

  1. 3dmax专用卸载修复工具,一键完全彻底卸载删除3dmax软件的专用卸载工具

    标题:3dmax重新安装方法经验总结,利用卸载清理工具完全彻底排查删除干净3dmax各种残留注册表和文件.3dmax显示已安装或者报错出现提示安装未完成某些产品无法安装的问题,怎么完全彻底删除清理干净 ...

  2. 接口返回JSON字符串压缩和解压

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;usi ...

  3. greenDao基础用法(一)

    1.配置 1.1 在 build.gradle(project) 中,加入这句 classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // a ...

  4. 安卓手机qpython使用感觉

    我是写C#的,最佳一时兴起,下载了个qpython来玩儿,发现这东西写点简单的爬虫还行,配合sqlite,可以做一些简单的事情,于是乎想写一个有趣的东西,在qpython写一个脚本,去收蚂蚁森林的能量 ...

  5. datax-web踩坑记录

    实习期间接触了两种ETL工具:kettle.datax 1.datax-web的安装 (跟着文档一步步来就好了) https://github.com/WeiYe-Jing/datax-web/blo ...

  6. 制作带curl命令的容器

    创建一个容器,启动后使用curl命令请求指定的地址 方法一.固定的地址,创建Dockerfile前先修改entrypoint.sh里的地址 vi entrypoint.sh#! /bin/bashcu ...

  7. js/css实现图片轮播

    实现样式: tplb.css ul, li { padding: 0; margin: 0; list-style: none; } .adver { margin: 0 auto; width: 7 ...

  8. Pytorch基础复习

    项目推进中期,重新到头来学Pytorch.five落泪了.(╬▔皿▔)凸 笑死,憋不住了,边更边学. 整篇博客整体采用总分总形式.首先将介绍内容(加黑部分)之间关系进行概括,后拆解,最后以图总结. 全 ...

  9. tomcat的SSL配置

    Table of Contents 1. 删除别名为tomcat的密钥 2. 生成别名为tomcat的密钥 3. tomcat配置密钥存储路径 4. 生成证书并通过浏览器导入 5. 80,443端口重 ...

  10. DeepMind公司最新ai技术参加Codeforces击败大部分选手

    著名的编程竞赛网站Codeforces发布了一篇名为<AlphaCode(DeepMind) Solves Programming Problems on CodeForce>的文章,将阿 ...