- 浏览: 898065 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
天天来注册:
...
try catch finally 用法 -
tadpole_java:
谢谢你的分享。
二十七、Qt数据库(七)QSqlRelationalTableModel(转) -
359449749tan:
android之EditText文本监听(addTextChangedListener) -
michael_wang:
人过留名 多谢分享
Android NOtification 使用 -
wilsonchen:
wangqi0614 写道这个删除是删除所有的把?能不能值删除 ...
Android的SharedPreferences保存与删除数据简单实例
市面上数据库种类繁多,JAVA访问的方式也有所不同。
1、利用数据源
在本地建一个数据源,指向远程或是本地的数据库,这种方法比较方便,适用于各种数据库,SQL Server,Access等,使用方法如下:开始 - 控制面板 - 管理工具 - 数据源 - 系统 DSN(Data source Name)- 添加 - 选 SQL Server - 填入名称(这里写上mydatabase),选择相应的服务器,后续按提示操作即可。
Java代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class TestDSN {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:mydatabase", "sa", "pa");
String sql = "SELECT * From id_mac_rssi";
ResultSet rs = con.createStatement().executeQuery(sql);
while (rs.next()) {
System.out.println("id:" + rs.getString(1) + " mac:"
+ rs.getString(2) + " rssi:" + rs.getString(3));
}
rs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class TestDSN {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:mydatabase", "sa", "pa");
String sql = "SELECT * From id_mac_rssi";
ResultSet rs = con.createStatement().executeQuery(sql);
while (rs.next()) {
System.out.println("id:" + rs.getString(1) + " mac:"
+ rs.getString(2) + " rssi:" + rs.getString(3));
}
rs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这种方式相当于把连接数据库的工作交给“数据源”,JAVA 只和“数据源”打交道。优点是通用性好,不需要改变JAVA代码,而且可以访问 Access 这样的没有进程守护的数据库文件,JAVA标准库里包含了相关的库,不需额外添加。缺点是要手动设置或者代码实现添加数据源,一般来说用户希望得到软件后直接就可以用,而不希望做过多的设置。
2、直接访问远程数据库
这种方式要求远程数据库有进程守护,Oracle,SQL Server,MySql都没问题,但是Access 就不行,它只是一个文件而已。
访问 SQL Server 方式:
SQL Server 的访问并不轻松,需要下载支持的包,版本不同,支持的包也有差异。这里使用 SQL Server 2005 ,添加用户 leidiqiu ,密码 888888。到微软的网站下载支持的包 sqljdbc.jar 和 sqljdbc4.jar 并添加到环境变量。
Java代码
package com.ldq;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Test04 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String sql = "INSERT INTO img(c_id,c_img) VALUES(?,?)";
Connection con = DriverManager
.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=mydatabase;user=leidiqiu;password=888888");
PreparedStatement ps = con.prepareStatement(sql);
FileInputStream fis = new FileInputStream("img.png");
ps.setInt(1, 1003);// 对应第一个 ? 号
ps.setBinaryStream(2, fis, fis.available());// 对应第二个 ? 号
int rst = ps.executeUpdate();
System.out.println(rst);// 数据是否插入成功
fis.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
package com.ldq;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Test04 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String sql = "INSERT INTO img(c_id,c_img) VALUES(?,?)";
Connection con = DriverManager
.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=mydatabase;user=leidiqiu;password=888888");
PreparedStatement ps = con.prepareStatement(sql);
FileInputStream fis = new FileInputStream("img.png");
ps.setInt(1, 1003);// 对应第一个 ? 号
ps.setBinaryStream(2, fis, fis.available());// 对应第二个 ? 号
int rst = ps.executeUpdate();
System.out.println(rst);// 数据是否插入成功
fis.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
img.png 文件放在工程目录下,数据库表的设计为 c_id int,c_img img ,img的数据类型其实就是字节流存储的图片,在用 SELECT * FROM img 查看 img 部分是16进制的内容,和用 WinHex 打开 img.png 的内容一致。0x424D36.....
1、利用数据源
在本地建一个数据源,指向远程或是本地的数据库,这种方法比较方便,适用于各种数据库,SQL Server,Access等,使用方法如下:开始 - 控制面板 - 管理工具 - 数据源 - 系统 DSN(Data source Name)- 添加 - 选 SQL Server - 填入名称(这里写上mydatabase),选择相应的服务器,后续按提示操作即可。
Java代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class TestDSN {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:mydatabase", "sa", "pa");
String sql = "SELECT * From id_mac_rssi";
ResultSet rs = con.createStatement().executeQuery(sql);
while (rs.next()) {
System.out.println("id:" + rs.getString(1) + " mac:"
+ rs.getString(2) + " rssi:" + rs.getString(3));
}
rs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class TestDSN {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:mydatabase", "sa", "pa");
String sql = "SELECT * From id_mac_rssi";
ResultSet rs = con.createStatement().executeQuery(sql);
while (rs.next()) {
System.out.println("id:" + rs.getString(1) + " mac:"
+ rs.getString(2) + " rssi:" + rs.getString(3));
}
rs.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
这种方式相当于把连接数据库的工作交给“数据源”,JAVA 只和“数据源”打交道。优点是通用性好,不需要改变JAVA代码,而且可以访问 Access 这样的没有进程守护的数据库文件,JAVA标准库里包含了相关的库,不需额外添加。缺点是要手动设置或者代码实现添加数据源,一般来说用户希望得到软件后直接就可以用,而不希望做过多的设置。
2、直接访问远程数据库
这种方式要求远程数据库有进程守护,Oracle,SQL Server,MySql都没问题,但是Access 就不行,它只是一个文件而已。
访问 SQL Server 方式:
SQL Server 的访问并不轻松,需要下载支持的包,版本不同,支持的包也有差异。这里使用 SQL Server 2005 ,添加用户 leidiqiu ,密码 888888。到微软的网站下载支持的包 sqljdbc.jar 和 sqljdbc4.jar 并添加到环境变量。
Java代码
package com.ldq;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Test04 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String sql = "INSERT INTO img(c_id,c_img) VALUES(?,?)";
Connection con = DriverManager
.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=mydatabase;user=leidiqiu;password=888888");
PreparedStatement ps = con.prepareStatement(sql);
FileInputStream fis = new FileInputStream("img.png");
ps.setInt(1, 1003);// 对应第一个 ? 号
ps.setBinaryStream(2, fis, fis.available());// 对应第二个 ? 号
int rst = ps.executeUpdate();
System.out.println(rst);// 数据是否插入成功
fis.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
package com.ldq;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Test04 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String sql = "INSERT INTO img(c_id,c_img) VALUES(?,?)";
Connection con = DriverManager
.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=mydatabase;user=leidiqiu;password=888888");
PreparedStatement ps = con.prepareStatement(sql);
FileInputStream fis = new FileInputStream("img.png");
ps.setInt(1, 1003);// 对应第一个 ? 号
ps.setBinaryStream(2, fis, fis.available());// 对应第二个 ? 号
int rst = ps.executeUpdate();
System.out.println(rst);// 数据是否插入成功
fis.close();
ps.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
img.png 文件放在工程目录下,数据库表的设计为 c_id int,c_img img ,img的数据类型其实就是字节流存储的图片,在用 SELECT * FROM img 查看 img 部分是16进制的内容,和用 WinHex 打开 img.png 的内容一致。0x424D36.....
发表评论
-
判断两二叉树相等
2014-05-29 00:13 1094bool IsBSTEqual(BNode* root1, ... -
数据去重
2014-05-29 00:11 767引用 使用数据结构丰富的脚本语言,如Python,利用其中的字 ... -
判断一个整数是否为2的次方幂
2014-05-28 23:56 842/* 判断一个整数是否为2的次方幂 */ bool ... -
实现Comparable接口,进行排序
2014-05-28 23:47 8795import java.util.ArrayList; ... -
Struct2详解
2014-05-21 15:14 882引用 Servlet的缺点: 1、web.xml配置比较多 2 ... -
常用方法
2014-04-25 20:24 741[color=red]String[/color] ... -
java nio和io的比较
2014-04-16 19:49 1695引用 第一部分:简单介绍NIO 服务器在合理时间内处理 ... -
Struts2、Spring3、HIbernate4总结
2014-04-16 10:35 832引用 第一部分:Struts2 1 ... -
Finally的使用总结
2014-04-15 22:02 844//清单一: public class ... -
Fibonacci数列的递归与非递归
2014-04-15 20:57 686//非递归实现 //f(1)=1,f(2)=1,f(n) ... -
Java中的异常
2014-04-14 09:42 597引用 Throwable包括两个子类:Error和Except ... -
JVM的垃圾回收机制
2014-04-13 18:39 825引用 堆被划分为新生代和旧生代, 新生代包含Eden 和 S ... -
集合类总结
2014-04-04 15:54 624引用 一. 总的框架 总的有Collection和Map Co ... -
设计模式之策略模式
2014-04-01 17:07 600main ======================= ... -
设计模式之责任链模式
2014-04-01 16:32 710main ======================= ... -
设计模式之访问者模式
2014-03-31 18:57 828main ======================= ... -
设计模式之工厂模式
2014-03-31 11:33 613main ======================= ... -
设计模式之观察者模式
2014-03-30 15:04 829main =============== ... -
Java虚拟机JVM详解
2014-03-29 12:13 1222引用 第一部分:JVM基本结构 1.什么是JVM 一个java ... -
Java中的反射机制Reflect
2014-03-28 17:17 3569package com.reflect.sym; i ...
相关推荐
经验,对Java访问SQL Server数据库的三种方式: JDBC—ODBC桥连接、纯Java方式连接~lWebLogic 数据库连接池连接进行归纳总结,对常见的问题给出 最佳的解决的办法,并给出了详尽的配置步骤和数据 库连接源代码和注释...
Java访问数据库技术,关于JDBC的讲解,比较详细,可以看看
java访问数据库集合、多种访问数据库方式、包含缓冲池等内容、jdbc、spring、hibernate、mybatis
java 数据库 大家共享,很好的资源,呕心沥血,大家共享
《数据库系统概论》课程之实验八,通过JDBC访问数据库。本文件中包含实验报告一份,可运行代码一份与JDBC的驱动jar包。 程序实现了使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,...
java中实现mybatis访问数据库
封装java访问数据库的操作 提供java连接池技术 web层简单应用。 里面有api,jar包,Demo简单例子。 多看下封装的类,希望对您的开发有帮助。
封装了常用的数据库访问的模式化操作,可以大大简化程序的复杂性,和提高代码的利用率!
java访问Hbase数据库实用小例子,增删改查创建表,教你轻松解决hbase
基于Java的数据库访问 基于Java的数据库访问
Java访问数据库.pdf
java连接数据库驱动程序大全,里面涵盖大多数常用数据库的驱动程序。
这个数据库访问控制框架工程名为dbmanager,目前的版本是1.1.8,只支持MYSQL数据库,在未来的两周时间内我会发布后续扩展版本... 本框架的具体用法和结构请大家参考我的博客文章《JAVA数据库访问控制框架设计与使用》。
Java访问MySQL数据库
提高Java访问数据库效率的方法研究与探讨.pdf
里面是java连数据库SQL的代码,应该很适合想学习用数据库连SQL的学者,里面得代码都是通用的
JAVA程序连接访问国产达梦数据库,进行增删改查等操作。简单的小demo,对于学习入门使用JAVA程序访问、使用国产数据库有一定的帮助。