上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class.forName("com.mysql.jdbc.Driver"); // 获取连接的数据库对象 Connection conn = DriverManager.getConnection(url, user, password); // 创建Statement对象 Statement st…
|- Statement接口: 用于执行静态的sql语句 |- int executeUpdate(String sql)  : 执行静态的更新sql语句(DDL,DML) |- ResultSet executeQuery(String sql)  :执行的静态的查询sql语句(DQL) |-PreparedStatement接口(Statement接口的子类):用于执行预编译sql语句 |- int executeUpdate() : 执行预编译的更新sql语句(DDL,DML) |-Res…
JDBC接口核心的API java.sql.*   和  javax.sql.*(java2.0以后更新的扩展) |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, properties):  连接数据库的方法.   url: 连接数据库的URL URL语法: jdbc协议:数据库子协议://主机:端口/数据库 user: 数据库的用户名 password: 数据库用户密码 |- DriverManager类: 驱动管理器类…
Statement 和 PreparedStatement 的区别: 1)语句不同 PreparedStatement需要预编译以及需要参数 2)由于PreparedStatement有缓存区,所以效率更高 3)由于PreparedStatement有缓存区,所以更安全,防止了注入(1=1) PreparedStatement接口(推荐使用): 代码1: /** * 添加数据语句 **/ private static void Intinsert() { Connection conn = nu…
回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象;  写sql 5:执行sql a) 更新    delete/insert/update !:executeUpdate(); b) 查询    select !:executeQuery(); 6:关闭/异常 之前有说过,Statement接口和PreparedStatement接口的区别,其中的一个就是: PreparedS…
我们创建一个sql表,里面的数据往往都会有自增长值. 那么,我们用jdbc插入数据的时候,要想同时获得这个增长值. 代码: /** * * 这是插入一条数据的同时,获取该数据的则增长列的值(该例子的自增长列是id) * * @author LZL * */ public class Auto_Increment { private static Connection conn = null; private static PreparedStatement stsm = null; privat…
实现简单的登录功能 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCFindAll { private static final String jdbcName="com.mysql.jdbc.Driver"; pri…
CallableStatement执行存储过程(也是预编译语言) 首先在sql中执行以下带有输入参数的代码: DELIMITER $ CREATE PROCEDURE pro_findById(IN sid INT) BEGIN SELECT * FROM person WHERE id = sid; END $ 那么,这条语句的存储过程代码就是 CALL pro_findById (?); 使用CallableStatement来执行: /** 带有输入参数的存储语言 sql中先运行 DELI…
1.导jar包 四大参数: 1.加载驱动类:Class.forName("com.mysql.jdbc.Driver"); 2.url:jdbc:mysql://localhost:3306/数据库名 //jdbc:厂商名://子协议/数据库名 #mysql #url=jdbc:mysql://localhost:3306/mydb? useUnicode=true&characterEncoding=utf8 &useServerPrepStmts=true &…
1. Jdbc中大文本类型的处理 Oracle中大文本数据类型, Clob    长文本类型   (MySQL中不支持,使用的是text) Blob    二进制类型 MySQL数据库, Text    长文本类型 Blob    二进制类型 需求: jdbc中操作长文本数据. 设计: 测试表 编码: 保存大文本数据类型 读取大文本数据类型 保存二进制数据 读取二进制数据 MYSQL: -- 测试大数据类型 CREATE TABLE test( id INT PRIMARY KEY AUTO_I…
批处理 很多时候,需要批量执行sql语句! 需求:批量保存信息! 设计: AdminDao Public  void  save(List<Admin list){    // 目前用这种方式 // 循环 // 保存  (批量保存) } Public  void  save(Admin  admin ){ // 循环 // 保存 } 技术: |-- Statement 批处理相关方法 void addBatch(String sql)     添加批处理 void clearBatch()   …
之前的代码中,以下代码很多时候并不是固定的: private static String url = "jdbc:mysql://localhost:3306/day1029?useUnicode=true&characterEncoding=GB2312"; // 数据库的用户名和密码 private static String user = "root"; private static String password = "root"…
  之前操作数据 1)通过mysql的客户端工具,登录数据库服务器  (mysql -u root -p 密码) 2)编写sql语句 3)发送sql语句到数据库服务器执行 什么是jdbc? 使用java代码(程序)发送sql语句的技术,就是jdbc技术!!!! 使用jdbc发送sql前提 登录数据库服务器(连接数据库服务器) 数据库的IP地址 端口 数据库用户名 密码 代码: public class MySql_Demo1 { //创建一个url private static String u…
今天想使用单元测试类,存储一些数据到mysql,可是,一直在报错,org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'locationService' available 检查了好久,实属无奈找不出问题,试了一下手动构造注入javabean,奇迹的解决了这个问题. 单元测试具体写法: 1.使用注解@Before 读取dao层的xml配置文件,,注意,必须是dao层,否则找不到mybatis…
1. 事务 基本概念: 事务使指一组最小逻辑操作单元,里面有多个操作组成. 组成事务的每一部分必须要同时提交成功,如果有一个操作失败,整个操作就回滚. 事务ACID特性: l 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. l 一致性(Consistency 事务必须使数据库从一个一致性状态变换到另外一个一致性状态. l 隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务…
MVC: 全称:Model View Controller: 解释:模型(model)-视图(view)-控制器(controller) Model(模型)表示应用程序核心(比如数据库记录列表). View(视图)显示数据(数据库记录). Controller(控制器)处理输入(写入数据库记录) Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在数据库中存取数据. View(视图)是应用程序中处理数据显示的部分. 通常视图是依据模型数据创建的. Controlle…
大家好,今天我们学习了Java如何连接数据库.之前学过.net语言的数据库操作,感觉就是一通百通,大同小异. JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力. JDBC API (主要功能:与数据库建立连接.执行语句.处理结果): 提供者:Sun公司 内容:供程序员调用的接口与类,集成在java.sql和javax.sql(后面的x是extend,扩展的意思).如: DriverManager类(管理各种不同的JDBC驱动), Connection接口(连接数据.传送数据)…
DBCP.C3P0.DBUtils的jar包和配置文件(百度云盘):点我下载 JDBC JDBC(Java 数据库连接,Java Database Connectify)是标准的Java访问数据库的API.JDBC定义了数据库的连接,SQL语句的执行以及处理数据库返回的结果等. Java应用程序使用JDBC API与数据库连接而实际的动作则是由JDBC驱动程序管理器(JDBC Driver Manager)通过JDBC驱动程序(JDBC Driver)与数据库系统进行连接.所以其实真正提供存取数…
一.JDBC相关概念介绍 1.1 JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库. 如下图所示: 二.编写JDBC程序 2.1 搭建实验环境 A. 启动mysql数据库,即开启mysql/bin/mysqld.exe. B. 创建数据库,并创建所需的表.如下图(在创建数据库和表的时候请对其编码设置为utf-8编码否则后…
一.概念 JDBC(Java Database Connectivity)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成.是java程序与数据库系统通信的标准API. JDBC API 使得开发人员可以使用纯java的方式来连接数据库,并执行操作.sun公司由于不知道各个主流商用数据库的程序代码,因此无法自己写代码连接各个数据库, 因此,sun公司决定,自己提供一套api,凡是数据库想与Java进行连接的,数据库厂商自己必须实现JDBC这套接口.而数据库厂商的JDB…
JDBC的知识对于JAVA开发人员来讲在简单不过的知识了.PreparedStatement的作用更是胸有成竹.我们最常见用到有俩个方法:executeQuery方法和executeUpdate方法.这俩个方法之外还有一个execute方法.只是这个方法我们很少用.但是mybatis框架就是却用这个方法来实现的.不管mybatis用是哪一个方法来实现.有一点可以肯定--那就是必须得到Statement接口实例.你可以这样子理解mybatis把如何获得Statement接口实例做了一个完美的封装.…
一般来说,Java应用程序访问数据库的过程是: 装载数据库驱动程序: 通过jdbc建立数据库连接: 访问数据库,执行sql语句: 断开数据库连接. public class DBConnection { private Connection con; //定义数据库连接类对象 private PreparedStatement pstm; private String user="root"; //连接数据库用户名 private String password="12345…
Statement接口 用于执行静态SQL语句并返回它所生成结果的对象 三种Statem类 Statement:由createStatement创建,用于发送简单的SQL语句(不带参数的),会有SQL注入的风险 PreparedStatement:继承自Statement接口,由prepareStatement创建,用于发送含有一个或多个输入参数的sql语句.PreparedStatement对象比Statement对象的效率高,并且可以防止SQL注入 CallableStatement:继承自…
原来一直是java,python等语言,最近用c#语言,并编写数据库访问代码.使用了之后,这里总结下,分享下c#如何操作数据库. 在java等其它语言中,有一套标准的api来完成数据库访问,并且一般都是通过sql语句来访问的.而在c#中,提供了多种灵活的方式. 大致可以分为: 1)和其它语言一样,直接利用sql命令(包括存储过程)操作数据库 2)利用sql语句,同时结合DataSet.DataAdapter等Api,提高使用的效率 3)与gui程序结合,与DataGridView等可视化组件结合…
批量处理多个sql语句 <?php //批量执行多个dml语句 // $mysqli=new mysqli("localhost","root","","test"); // if ($mysqli->connect_error) { // die($mysqli->connect_error); // } // $sql="insert into user1(name,Password,Email…
jdbc执行Statement接口的步骤如下: 1)驱动注册程序: Class.forName(com.mysql.jdbc.Driver); 2)获取连接对象: Connection conn = DriverManager.getConnection(url,user,password); 3)创建Statement对象: Statement stsm = conn.createStatement(); 4)准备sql语句:(静态的sql语句) 5)执行sql语句: stsm.execute…
一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后执行,而存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应…
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库.比如建立数据库连接.执行SQL语句进行数据的存取操作. JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: 连接到数据库 创…
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库.比如建立数据库连接.执行SQL语句进行数据的存取操作. JDBC全称是java数据库连接,可以为多种数据库提供统一的访问.体现了Java"一次编写,处处运行…
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过制定存储过程的名字并给出参数(如果该存储过程带有参数) 来执行它.存储过程是数据库中 的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程. 一个存储过程是一个可编程的函数,它在数据…