七,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. 【LeetCode】282. Expression Add Operators

    题目: Given a string that contains only digits 0-9 and a target value, return all possibilities to add ...

  2. Mysql源码学习——源码目录结构

    目录清单 目录名 注释 Bdb 伯克利DB表引擎 BUILD 构建工程的脚本 Client 客户端 Cmd-line-utils 命令行工具 Config 构建工程所需的一些文件 Dbug Fred ...

  3. MySQL 5.7新特性

    新增特性 Security improvements. MySQL.user表新增plugin列,且若某账户该字段值为空则账户不能使用.从低版本MySQL升级至MySQL5.7时要注意该问题,且建议D ...

  4. WPF 后台触发 Validate UI‘s Element

    wpf中有validateRule类, 用于界面元素的验证, 如何后台去控制validateRule呢? 1. UI层要binding写好的ValidateRule,分为Binding和MultiBi ...

  5. VijosP1595:学校网络(有向图变强连通图)

    描述 一些学校的校园网连接在一个计算机网络上.学校之间存在软件支援协议.每个学校都有它应支援的学校名单(学校a支援学校b,并不表示学校b一定支援学校a).当某校获得一个新软件时,无论是直接得到的还是从 ...

  6. SpringMVC之四:渲染Web视图

    理解视图解析 在前面的例子中,我们看到控制器返回的都是一个逻辑视图的名称,然后把这个逻辑视图名称交给view resolver,然后返回渲染后的 html 页面给 client. 将控制器中请求处理的 ...

  7. matlab 函数 bwarea

    Matlab函数bwarea简介 函数功能:计算二值图像中对象的总面积. 调用格式: total = bwarea(BW) 估算二值图像BW中对象的总面积. 返回的total是一个标量, 它的值大致地 ...

  8. python--环境变量的使用

    用python 环境变量取代sys.path echo -en "PYTHONPATH=$PYTHONPATH:~/demo" >>~/.bashrc export ~ ...

  9. java&nbsp;原始类与封装类&nbsp;的区别

    int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0,而Integer的默认值为null,即Integer可 ...

  10. php查询内存信息

    php查询内存信息,是为了更好的查看内存使用情况,更好的优化代码. 查看当前内存使用情况使用:memory_get_usage()函数. 查看内存使用峰值:memory_get_peak_usage( ...