JavaEE系列之(三)JDBC操作MySQL数据库
一、JDBC简介
ResultSet rs = st.executeQuery(sql);

//查询操作
Statement st = conn.createStatement();
String sql = “select * from user where id=1;
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
//根据获取列的数据类型,分别调用rs的相应方法
//映射到java对象中
} //插入操作
String sql = "insert into user(….) values(…..) ";
int num = st.executeUpdate(sql);
if(num>0){
System.out.println("插入成功!!!");
}
//修改操作
String sql = “update user set name=‘’ where name=‘’";
int num = st.executeUpdate(sql);
if(num>0){
System.out.println("修改成功!!!");
}
//删除操作
String sql = “delete from user where id=1;
int num = st.executeUpdate(sql);
if(num>0){
System.out.println("删除成功!!!");
}
7、PreparedSatement类详解:
String insertString = "insert into users values(?,?,?,?);";
//id, name, password, email PreparedStatement preparedStatement= connection.prepareStatement(insertString);
preparedStatement.setInt(1, 1);
preparedStatement.setString(2, "zhangsan");
preparedStatement.setString(3, "123456");
preparedStatement.setString(4, "zhansan@sina.com");
preparedStatement.execute();
8、使用JDBC处理大文本和大二进制数据:
//把一个文件里的内容保存到 text 列中
File file = new File("1.txt");
FileReader fileReader = new FileReader(file);
String insertsString ="insert into lobtest values(?,?)";
PreparedStatement ps = connection.prepareStatement(insertsString); /* void setCharacterStream(int parameterIndex, Reader reader)
将指定参数设置为给定 Reader 对象。
//mysql 仅支持这个方法
void setCharacterStream(int parameterIndex, Reader reader, int length)
将给定参数设置为给定 Reader 对象,该对象具有给定字符数长度。
void setCharacterStream(int parameterIndex, Reader reader, long length)
将指定参数设置为给定 Reader 对象,该对象具有给定字符数长度。 */
ps.setInt(1, 1);
ps.setCharacterStream(2,fileReader,(int)file.length());
ps.execute();
//把一个text列中的内容存储到一个文件中
File file = new File("2.txt");
FileWriter fileWriter = new FileWriter(file);
String queryString ="select content from lobtest where id = ?";
PreparedStatement ps = connection.prepareStatement(queryString);
ps.setInt(1, 1);
ps.execute();
rs=ps.getResultSet();
rs.next();
Reader reader = rs.getCharacterStream(1); char[] ch = new char[1024];
int len = 0;
while ((len=reader.read(ch, 0, 1024))!=-1) {
fileWriter.write(ch, 0, len);
}
reader.close();
fileWriter.close();//先将一张图片放入到数据库中
String insertString = "insert into lobtest2 values(?,?);";
PreparedStatement prepareStatement = connection.prepareStatement(insertString)
File file = new File("zixia.jpg");
FileInputStream fis= new FileInputStream(file);
prepareStatement.setInt(1, 2);
prepareStatement.setBinaryStream(2, fis,(int)file.length());
prepareStatement.execute();
//在从数据库中读出一张照片到文件中
String qureyString ="select context from lobtest2 where id = ?";
PreparedStatement prepareStatement = connection.prepareStatement(qureyString);
prepareStatement.setInt(1, 2);
prepareStatement.execute();
ResultSet resultSet = prepareStatement.getResultSet();
resultSet.next();
InputStream stream = resultSet.getBinaryStream(1);
FileOutputStream fos = new FileOutputStream("mm.jpg");
byte[] b=new byte[1024];
int len=0;
while ((len=stream.read(b, 0, 1024))!=-1) {
fos.write(b, 0, len);
} fos.close();
stream.close();9、使用JDBC进行批处理:
conn = JdbcUtil.getConnection();
String sql = "insert into user(name,password,email,birthday) values(?,?,?,?)";
st = conn.prepareStatement(sql);
for(int i=0;i<50000;i++){
st.setString(1, "aaa" + i);
st.setString(2, "123" + i);
st.setString(3, "aaa" + i + "@sina.com");
st.setDate(4,new Date(1980, 10, 10));
st.addBatch();
if(i%1000==0){
st.executeBatch();
st.clearBatch();
}
}
st.executeBatch();
优点:发送的是预编译后的SQL语句,执行效率高。
CallableStatement cStmt = conn.prepareCall("{call demoSp(?, ?)}");
cStmt.setString(1, "abcdefg");
cStmt.registerOutParameter(2, Types.VARCHAR);
cStmt.execute();
System.out.println(cStmt.getString(2));
JavaEE系列之(三)JDBC操作MySQL数据库的更多相关文章
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- 原生Jdbc操作Mysql数据库开发步骤
原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤: 1.导入数据库驱动包 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- 使用JDBC操作MySQL数据库
一.JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组 ...
- Java第三十五天,用JDBC操作MySQL数据库(一),基础入门
一.JDBC的概念 Java DataBase Connectivity 从字面意思我们也不难理解,就是用Java语言连接数据库的意思 JDBC定义了Java语言操作所有关系型数据库的规则(接口).即 ...
- JavaWeb用Jdbc操作MySql数据库(一)
一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...
- 原生jdbc操作mysql数据库详解
首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...
- Java学习笔记(十一)——通过JDBC操作mysql数据库
[前面的话] 时间总是好快,每次都感觉还没有怎么好好去过,对于好多事情,希望自己可以做的更多一点.心情能够好一点,平淡一点就行了. 学习过程中的知识点总结,基础知识,选择阅读. [JDBC定义] 定义 ...
随机推荐
- java Comparable 比较器的使用
/** * */ package com.mindreader; import java.util.Arrays; /** * @作者 Mind reader * @内容 对象数组排序——Compar ...
- WCF寄宿方式
WCF开发框架形成之旅---WCF的几种寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者 ...
- 神奇的linux发行版 tiny core linux
首先官网在此 http://tinycorelinux.net/ 真正轻量级 名字里带有“tiny”又带有“core”,想必又是一个所谓的“轻量级”发行版. 轻量级我们见多了,debian号称是轻量级 ...
- 微软Azure云主机测试报告
http://www.cnblogs.com/sennly/p/4135658.html 1. 测试目的 本次测试的目的在于对微软云主机做性能测试,评估其是否能够满足我们业务的需求. 2. 测试项目 ...
- c++数组、字符串操作
一.数组操作 1.数组初始化1-1一维数组初始化:标准方式一: int value[100]; // value[i]的值不定,没有初始化标准方式二: int value[100] = {1,2}; ...
- JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
java application项目(非web项目) 改进前: -Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweep ...
- 使用google map v3 api 开发地图服务
Google Map V3 API 学习地址: http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/article ...
- 串口发送浮点型数据及int(2个字节)long int(4个字节)的方法
方法一: 直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float. 其中有两点要注意. (1)大端存储,小端存储:如果搞错读取数据就 ...
- MFC如何添加系统消息处理函数?
http://zhidao.baidu.com/question/318026804.html 在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成 ...
- 实时监控mysql数据库变化
对于二次开发来说,很大一部分就找找文件和找数据库的变化情况 对于数据库变化.还没有发现比较好用的监控数据库变化监控软件. 今天,我就给大家介绍一个如何使用mysql自带的功能监控数据库变化 1.打开数 ...