jdbc: java database connection,也就是java的数据库连接。
作用: 完成数据库数据和内存数据的交互。

为了屏蔽不同数据库的差异,在内存和各种数据库之间建立了一个接口标准。每个厂商按照接口的标准来实现接口类。

jdbc 是java连接数据库的一套标准。该标准中定义了一系列的接口,由数据库厂商根据自身数据库的特点提供实现类,由开发者调用。开发者根据接口调用方法,可以屏蔽不同数据库厂商的差异。这样,无论连接什么数据库都是一套API。

jdbc 操作步骤:                          流操作步骤:
① 加载驱动,建立连接                        1、建立流
② 执行SQL语句                                2、操作流
③ 关闭连接                                      3、关闭

SQL注入: 在执行sql语句时,由于sql语句的值是由用户输入的,所以是以变量接收的,如果以拼接字符串方式来执行SQL语句,一旦数据中有非法字符或者有关键字时,会导致语法错误,或者执行结果不正确的情况,这称为SQL注入。

Statement和PreparedStatement的区别:

Statement是PreparedStatement 的父接口。在执行SQL语句时,只能以拼接字符串方式,拼接值。会引起SQL注入。而且效率低。

PreparedStatement,是预编译SQL语句执行对象,支持占位符方式,无论数据是什么值,都当字符串处理,不会引起SQL注入。而且效率高。

java和数据库的连接语法:

     @Override
public void add(ManBean bean) { //连接对象
Connection con=null;
//SQL语句执行对象
PreparedStatement ps=null;
// 加载驱动
try {
Class.forName("org.gjt.mm.mysql.Driver");
//建立连接,localhost为主机IP地址(本机),3306为mysql的端口号,
//testdb为数据库的库名,characterEncoding=utf-8为字节编码集
//root为mysql的登录名,123456为mysql的登录密码
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb?characterEncoding=utf-8",
"root","");
System.out.println(con); //执行SQL语句,?为占位符
ps=con.prepareStatement("insert into t_man(manName,birthday,money) values(?,?,?)");
//填充占位符
ps.setString(, bean.getName());
ps.setDate(, bean.getBirthday());
ps.setInt(, bean.getMoney());
//更新数据库
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
finally{//关闭连接
try {
ps.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

数据库与java的连接的更多相关文章

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

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

  2. Java创建连接池连接不同数据库

    在一个应用里面,可能涉及到连接多个不同数据库进行操作,而每次连接写不同的实现会很麻烦.前面已经会了用JDBC连接数据库,那么利用反射和工厂模式,可以实现连接不同的数据库,这样处理起来将会很方便.同时建 ...

  3. Java 测试连接Oracle数据库是否成功,ojdbc7.jar包下载

    需要用到的jar 包: 链接:https://pan.baidu.com/s/1I1pC2f81IvbphZ6tWpVFOg 密码:uq0u 测试结果: package pkg; import jav ...

  4. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

  5. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  6. 【转】数据库分页Java实现

    [转]数据库分页Java实现 MySQL分页 主要是MySQL数据库内置LIMIT函数 注意添加mysql的JAR包mysql-connector-java-5.1.13-bin.jar 在中小数据量 ...

  7. mongodb3.0分片及java代码连接操作测试(开启用户验证)

    最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一 ...

  8. Java-Runoob-高级教程:Java MySQL 连接

    ylbtech-Java-Runoob-高级教程:Java MySQL 连接 1.返回顶部 1. Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL ...

  9. Java 学习(22):Java MySQL 连接

    Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL 数据库. Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mys ...

随机推荐

  1. 7.7 C++基本关联式容器

    参考:http://www.weixueyuan.net/view/6404.html 总结: 基本的关联式容器主要有:set.multiset.map和multimap,这四种容器可以分为两组:ma ...

  2. fftshift函数详解

    reference: https://ww2.mathworks.cn/help/matlab/ref/fftshift.html 一.实信号情况 因为实信号以fs为采样速率的信号在 fs/2处混叠, ...

  3. IE浏览器兼容的处理方式之一,使用特殊的注释 <!--[if IE]> ....<![endif]-->

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. DevExpress ASP.NET Bootstrap Controls v18.2新功能详解(二)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Boot ...

  5. DevExpress ASP.NET v18.2新功能详解(二)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress ASP.NET Cont ...

  6. L293 给地球降温

    Countries look at ways to tinker with Earth’s thermostat The idea of cooling the climate with strato ...

  7. 移动端开发rem单位

    1.用js计算 <script> (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientat ...

  8. HDU 1213 How Many Tables(并查集裸题)

    Problem Description Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. ...

  9. 性能测试-2.Fiddler抓包工具的使用

    Fiddler基础知识(此文原文地址) Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修 ...

  10. 利用sql语句进行增删改查

    1.查询 函数:raw(sql语句) 语法:Entry.objects.raw(sql) 返回:QuerySet 2.增删改 from django.db import connection def ...