1.JDBC

  a.定义:是一种用于执行SQL语句的Java API,它由一组用Java 语言编写的类和接口组成

  b.操作步骤:

    ①加载驱动——告诉驱动管理器我们将使用哪一个数据库的驱动包

     Class.forName("com.mysql.jdbc.Driver");        // try - catch

    ②操作JDBC API完成数据库动作

      常用方法:Connection:连接

           Statement:语句对象

           ResultSet:查询语句返回的结果集

       //2-1、获取连接
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test134" +
"?useUnicode=true&characterEncoding=utf8&useSSL=false", "root", "root");
//2-2、书写SQL语句---字符串拼接、
String sql = "insert into t_class(f_classname,f_teacher) values('"+className+"','"+teacherName+"')";
//2-3、获取语句对象---Statement对象
Statement state = con.createStatement();
//2-4、执行语句对象---所有的DML语句,全部执行executeUpdate()方法
int row = state.executeUpdate(sql);    //返回的int代表影响了多少行!
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
//2-5、关闭连接
if(con != null){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

    注:以上是 增、删、改 的方法,查询需要用到一下语句

     ResultSet rs = state.executeQuery(sql);

  c. url:

    ①定义:统一资源定位符

    ②样式:协议 : // ip地址 : 端口号 / 服务

     jdbc:mysql://127.0.0.1:3306/test134

2.PreparedStatement——预编译语句

  a.特点:①可以完全替代statement,执行executeUpdate()和executeQuery()

      ②解决SQL注入问题

      ③因为在执行之前就把语句和String SQL绑定上(交给数据库预先编译了),执行时不能再改变SQL的结构

  b.注意:①?是用来替代语句中的数据值的位置,不能替代跟结构有关的任何内容

      ②使用?替代字符串值的时候,不能打引号

      ③不要滥用预编译,预编译语句过多也会影响数据库性能;当数据值是由外部文本输入的时候,才用它

  String sql = "select * from t_user where f_username=? and f_password=?";
  PreparedStatement ps = con.prepareStatement(sql);
  ps.setString(1,name);
  ps.setString(2, pwd);
  ResultSet rs = ps.executeQuery();

3.事务——Transaction

  a.定义:是JDBC中的一种,让多条SQL语句作为一个整体,必须整体成功或整体失败

  b.作用:主要控制的是DML语句,需要保证数据的完整性;DQL语句可以不参与事务

  c.步骤:事务操作分为三步——这三步都由一个对象完成——Connection

    1.开启事务——设置自动提交为假

con.setAutoCommit( false );

    2.整体提交

con.commit();

    3.在Catch块中,整体回滚

con.rollback;

Java 之 数据库编程(JDBC)的更多相关文章

  1. Java操作数据库——在JDBC里使用事务

    Java操作数据库——在JDBC里使用事务 摘要:本文主要学习了如何在JDBC里使用事务. 使用Connection的事务控制方法 当JDBC程序向数据库获得一个Connection对象时,默认情况下 ...

  2. Java操作数据库——使用JDBC连接数据库

    Java操作数据库——使用JDBC连接数据库 摘要:本文主要学习了如何使用JDBC连接数据库. 背景 数据持久化 数据持久化就是把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应 ...

  3. JAVA数据库编程(JDBC技术)-入门笔记

    本菜鸟才介入Java,我现在不急着去看那些基本的语法或者一些Java里面的版本的特征或者是一些晋级的知识,因为有一点.Net的OOP编程思想,所以对于Java的这些语法以及什么的在用到的时候在去发现学 ...

  4. Java数据库编程(JDBC)

    一.使用Java对数据库的操作步骤: 1.根据应用程序的数据库类型,加载相应的驱动: 2.连接到数据库,得到Connection对象: 3.通过Connection创建Statement对象: 4.使 ...

  5. JavaSE学习总结(九)—— Java访问数据库(JDBC)

    一.JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java ...

  6. java 的数据库操作--JDBC

    一.java与数据库的交互 1.jdbc:java data base connectivity,java数据库连接.java的JDBC操作主要通过操作两个类进行连接操作:Connection 和 S ...

  7. [Java] 数据库编程JDBC

    背景 持久化:把Java对象保存在硬盘中 序列化:将对象转换为二进制对象,再保存 保存在关系型数据库中 Object-Relational Mapping(对象-关系映射框架,或ORM框架):把对象属 ...

  8. Java操作数据库之JDBC增删改查

    1.java连接MySql数据库 代码区域: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  9. 【Java 与数据库】JDBC中日期时间的处理技巧

    JDBC中日期时间的处理技巧 详谈Java.util.Date和Java.sql.Date 基础知识 Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒 ...

随机推荐

  1. SpringMVC拦截器的使用

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  2. C# WinForm 技巧:COMBOBOX搜索提示

    comboBox和textBox支持内置的搜索提示功能, 在form的InitializeComponent()中添加如下语句:   this.comboBox1.AutoCompleteCustom ...

  3. c语言第一章第一节 认识变量

    声明:本人大一新生,闲着无聊..写写c语言教程..菜鸟一枚..大神勿喷!!! 接下来我们都用dev来进行编译..vc++太古老了,没提示功能,不好上手,并且老是出毛病..vs太大了,编个c不至于,运行 ...

  4. CSS解决未知高度垂直居中

    尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下). 标准浏览器如Mozilla, Opera, Safari ...

  5. HTTP事务

    一次完整的HTTP事务 当我们在地址栏输入URL,按下回车的时候,浏览器需要做的事情: 1.域名解析:浏览器解析域名对应的IP地址: //DNS Domain Name System 域名系统  将域 ...

  6. 【新手出发】从搭虚拟机开始,一步一步在CentOS上跑起来.Net Core程序

    文章背景 微软6月26号发布core 1.0版本后,园子里关于这方面的文章就更加火爆了,不管是从文章数量还是大家互动的热情来看,绝对是最热门的技术NO.1.我从去年底开始接触.net core到现在也 ...

  7. [转载]jquery版小型婚礼(可动态添加祝福语)

    原文链接:http://www.cnblogs.com/tattoo/p/3788019.html 前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我 的百度生涯,一直 ...

  8. oracle学习笔记(二)

    1. Oracle字符串操作 1.1. 字符串类型 1.1.1. CHAR和VARCHAR2类型 CHAR和VARCHAR2类型都是用来表示字符串数据类型,用来在表中存放字符串信息, 比如姓名.职业. ...

  9. optparse

    Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...

  10. iOS9 中的On-Demand Resources,编辑中。。。

    最近要写一个包含许多Html内容的应用,就想能不能通过ios9的这个新特性,缩小一下app的体积,也看看这个新特性和最常使用的用服务器下载资源包有什么不同. 先看官方文档: http://www.co ...