七,JOBC数据库编程

七,JOBC数据库编程
一,java数据库编程步骤
1,将数据库驱动包考入lib目录;
2,加载驱动--整个操作数据库程序运行期间只需要加载一次
Class.forName("com.mysql.driver");加载driver驱动
整个操作数据库程序,只需要加载一次
3,开启连接
1,开启链接调用Connection接口;(登录数据库)
Connection con=null;
con=DriverManager.getConnection("地址;端口/库;编码格式, 账号, 密码);
需要使用try捕获错误
编码格式;
开启编码;useUnicode=true
用&拼接参数;&characterEncoding=utf-8
例;
Connection con=null;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test
?useUnicode=true&characterEncoding=utf-8", "root", "root");
4,操作管道(面试重点)
1,增删改;
1,声明sql语句
String sql="update t_atmuser set f_atmUserPassWord=?,f_atmUserMoney=
? where pk_atmid=? ;";
2,?占位符,代表,用PreparedStatement为?字符串拼接方式有风险(sql注入),
所以使用位置赋值(下标是从一开始第一个就代表第一个问号)
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, user.getPassword());
ps.setFloat(2, user.getAccount());
ps.setInt(3, user.getAtmid());
3,写入数据库,返回一个int类型的值,响应的行数
ps.executeUpdate();
4,字符串拼接使用(有风险sql注入)
Statement stat = con.createStatement();
int n = stat.executeUpdate(sql);
2,查
1,申明了语句(有ID用ID查,速度更快)
String sql="select
pk_atmid,f_atmUserName,f_atmUserPassWord,f_atmUserMoney
from t_atmuser where f_atmUserName=? and f_atmUserPassWord=?";
2,?占位符,代表,用PreparedStatement为位置赋值
(下标是从一开始第一个就代表第一个问号)
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, userName);
ps.setString(2, userPassWord);
3,返回一个ResultSet类型数据
ResultSet rs=ps.executeQuery();
4,用while来读取所有每行数据,rs.next()有几行数据就返回几个true
while(rs.next()){ //rs.next();判断有没有下一行
rs.get数据类型(那个字段)
user.setAccount(rs.getFloat("f_atmUserMoney"));
user.setAtmid(rs.getInt("pk_atmid"));
user.setCardNum(rs.getString("f_atmUserName"));
user.setPassword(rs.getString("f_atmUserPassWord"));
}
5,关闭管道
if(con!=unll){
con.close();
}
二,事务
1,一个动作,同时涉及到多张表的增删改查操作,且这些操作化为一体;
2,必须保证是同一个Connection
3,设置自动提交为假(开启事务);
con.setAutoCommit(false);//写在Connection下
4,最后用con.commit();手动提交;之前都没有发生异常才可以;
5,发生异常就执行con.rollback();回滚;需要try(捕获异常)
6,事务的4大特性
1,原子性
多个动作是一个整体,不可被切割,必须同时成功或同时失败;
2,一致性
多个动作执行结果必须按照顺序串执行
3,隔离性
事务执行不受其他动作的干扰;事务执行的中间结果与其他动作是透明的;
4,持久性
对于自己已提交的事务必须保证对数据库的物理表执行操作;
三,映射;
类与类之间的关联;表与表之间的关联
四,注意
1,date dt=new date();//java的date
date de=new java.sql.date(tb.gettime());sql的date

七,JOBC数据库编程的更多相关文章

  1. Python学习系列(七)( 数据库编程)

    Python学习系列(七)( 数据库编程)        Python学习系列(六)(模块) 一,MySQL-Python插件       Python里操作MySQL数据库,需要Python下安装访 ...

  2. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  3. 提高你的数据库编程效率:Microsoft CLR Via Sql Server

    你还在为数据库编程而抓狂吗?那些恶心的脚本拼接,低效的脚本调试的日子将会与我们越来越远啦.现在我们能用支持.NET的语言来开发数据库中的对象,如:存储过程,函数,触发器,集合函数已及复杂的类型.看到这 ...

  4. VB.NET数据库编程基础教程

    关键词:作者罗姗   众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的.其中,ADO. ...

  5. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  6. java面向对象下:Java数据库编程

    19.Java数据库编程: JDBC概述:        JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...

  7. .Net程序员学用Oracle系列(3):数据库编程规范

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变 ...

  8. java 数据库编程 学习笔记 不断更新

    最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ...

  9. Windows数据库编程接口简介

    数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如Windows上的注册表其实也是一种数据库),有些软件更是以数据库为核心因此掌握数据库系统的使用方法 ...

随机推荐

  1. linux中python easy_install命令

    centos 下安装 python easy_installcurl -O http://peak.telecommunity.com/dist/ez_setup.pypython ez_setup. ...

  2. 使用google浏览器模拟手机终端的方法

    谷歌Chrome浏览器,可以很方便地用来当移动终端模拟器.在Windows的[开始]-->[运行]中输入以下命令,启动谷歌浏览器,即可模拟相应手机的浏览器去访问3G手机网页,前提:将先前开启的谷 ...

  3. Data Guard 异构平台支持手册

    背景 最简单的DG 环境是同数据库版本,同操作系统平台. 但有时需要在异构平台上来部署DG 环境,比如异构下使用DG 来进行数据迁移,从而降低停机时间和风险等等. 1. 查看主备库的Platform ...

  4. JavaScript-Tool:three.js

    ylbtech-JavaScript-Tool:three.js Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质等各种对象.你可以在它的主页 ...

  5. Redux API之applyMiddleware

    applyMiddleware(...middlewares) 使用包含自定义功能的 middleware 来扩展 Redux 是一种推荐的方式.Middleware 可以让你包装 store 的di ...

  6. 转:isualvm远程监控Tomcat

    一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. JVM 监控工具 Java VisualVM .jvisua ...

  7. day1 java基础

    常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录    注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. cd ...

  8. 牛客多校3 C-Shuffle Cards(rope大法解决数组分块)

    Shuffle Cards 链接:https://www.nowcoder.com/acm/contest/141/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26 ...

  9. GitHub上最火爆!码代码不得不知的所有定律法则

    目录 介绍 定律 阿姆达尔定律 (Amdahl's Law) 布鲁克斯法则 (Brooks's Law) 康威定律 (Conway's Law) 侯世达定律 (Hofstadter's Law) 技术 ...

  10. C++经典面试算法题

    转自:http://blog.csdn.net/f_r_e_e_x/article/details/50770907 //1.实现strcpy. char* MyStrCpy( char *pDest ...