如何建立Java程序与SQL数据库的连接?

作者&投稿:孛轻 (若有异议请与网页底部的电邮联系)
Java中如何与数据库建立连接?~

导入java.sql包
一、加载要连接数据库的驱动程序
//Jdbc-Odbc桥 和 Microsoft Access 数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驱动程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
注:Class.forName()方法将给定的类加载到JVM,如果系统中不存在给定的类,则会引发异常
二、通过驱动程序管理器得到连接实例
Connection conn=null;
//1.
//1.1建立数据源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是数据源名称
//1-2、不建立数据源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");

注:DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序
它接收三个参数, 分别表示1 数据源的名称、类型 2 用户名(可选) 3 密码(可选)
三、基于连接对象建立处理器对象
Statement stmt=conn.createStatement();
四、准备sql命令
String sql="select * from Student";
五、执行命令返回结果集
ResultSet rs=stmt.executeQuery(sql);
六、显示结果集
while(rs.next())//只要后面有记录
{
//对当前行的所有字段遍历
for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//显示字段名
System.out.println(rs.getString(i));//显示字段当前值
}
System.out.println();
}

七、关闭资源

rs.close(); //关闭记录集
stmt.close(); //关闭处理器对象
conn.close(); //关闭连接对象

预处理器的应用:

//3.基于连接对象建立预处理器对象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");

//4.给预处理对象的参数赋值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");

//5.执行预处理命令
int i=pstmt.executeUpdate();
System.out.println(i+"条记录已成功插入!");

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;



public class BaseDao
{
//连接
private Connection conn = null;

//静态块
static
{
//实例化驱动类
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("SQL SERVER驱动装载失败");
e.printStackTrace();
}
}

//取得数据库连接
public Connection getConnection()
{
String url = "jdbc:sqlserver://localhost:1433;databaseName=FA";
String userName = "sa";
String userPwd = "";

try {
conn = DriverManager.getConnection(url, userName, userPwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("无法取得数据库连接");
e.printStackTrace();
}

return conn;
}

//关闭连接
public void closeConnection()
{
try
{
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("无法关闭数据库联接");
e.printStackTrace();
}
}
}
前提是导入sqlserver的jar包

两种方式:1、JDBC-ODBC连接,也叫桥连接。驱动字符串:sun.jdbc.odbc.JdbcOdbcDriver连接字符串:JDBC:ODBC:数据源名称 2、JDBC,也叫直连接需要驱动包,并且要将驱动包复制到:JDK安装路径\jre\lib\ext\下,或通过IDE将驱动包加载到程序的构建路径中。常用的数据库的连接方式:1)Microsoft SQLServer驱动字符串:com.microsoft.jdbc.sqlserver.SQLServerDriver连接字符串:JDBC:MICROSOFT:SQLSERVER://主机名:端口号;databasename = 数据库名称2)ORACLE (a) thin连接 驱动字符串:oracle.jdbc.driver.OracleDriver 连接字符串:JDBC:ORACLE:thin:@主机名:端口号:数据库SID (b) oci8连接 驱动字符串: oracle.jdbc.driver.OracleDriver 连接字符串 :JDBC:ORACLE:oci8:@网络服务名3)My SQL 驱动字符串:com.mysql.jdbc.Driver 连接字符串:JDBC:MYSQL://主机名:端口号/数据库名?useUnicode=true&characterEncoding=utf-8

jdbc连接各种数据库方式列表: 下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。 1、Oracle8/8i/9i数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password); 2、DB2数据库 Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password); 3、Sql Server7.0/2000数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password); 4、Sybase数据库 Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps); 5、Informix数据库 Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB为数据库名
Connection conn= DriverManager.getConnection(url); 6、MySQL数据库 Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//或者Class.forName("com.mysql.jdbc.Driver");
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url); 7、PostgreSQL数据库 Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password); 8、access数据库直连用ODBC的Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;

看你用哪种jdbc如果是jdbcOdbc桥Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection con = DriverManager.getConnection("jdbc:odbc:数据源名",username,pwd); ----------------------如果是微软提供的jdbcClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connection con = DriverManager.getConnection("jdbc:sqlserver://服务器地址:1433; DatabaseName=数据库名",username,pwd); -----------------如果是jtdsClass.forName("net.sourceforge.jtds.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://服务器地址:1433/数据库名",username,pwd);

首先要拿到相应数据的JDBC驱动程序,如Oracle的就是ojdbc14.jar,然后将之导入工程。
最简单的直接取连接方法:Class.forName(驱动类名):Connection conn = DriverManager.getConnection(数据库url,数据库用户名,密码);

一般在项目中都是使用直连的方式进行连接的当然如果你没有Jar包的情况下可以用桥连的方式进行连接。但是在大的项目中必须使用直连这样可以节省资源

怎么用JAVA写一个用户登入程序
答:同意楼上的说法,具体点可以这样:创建一个用户表,里边包括LoginName(登录名),UserName(用户名),Password(密码),Age(年龄),Address(地址)。然后编写Java程序(用MVC架构)模型层(M):DBConnection.java(负责连接数据库)import java.sql.Connection;import java.sql.DriverManager;import java...

用java写一个程序,实现对SQL数据库的动态表进行定时查询
答:你这跟struts2没关系,需要一个定时器,定时去跑你的查询库表代码就OK了。如果你的程序是需要将查询结果展示在jsp页面上,你需要在jsp页面上使用js写定时器代码,参考SetInterval方法。如果你的程序是桌面应用程序,你可以使用java的定时器Timer。当然,你的项目中如果使用了spring,那有更好的解决方案...

学生信息综合查询管理系统 JAVA程序编写
答:import java.sql.*; import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.JOptionPane; class Add extends Panel implements ActionListener{ Connection con; Statement sql; Button b1,b2; TextField tf1,tf2,tf3,tf4,tf5,tf6; ...

自学Java怎么入门?
答:一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发...

java基础都有那些?
答:③【 使用 Java API 编写高级程序】当你完成了大部分的基础程序编写,并且掌握了基本的编程技巧之后,就可以进行下一步了。我会建议你努力学习 Java 集合和 Java IO 内部的 API。你需要熟悉这些 API 提供的各种类和接口,并利用它们来创建程序。需要注意的是,你应该查找已经存在的 API 和方法来实现功能,而不是...

java中怎样向SQLserver中插入数据
答:(最基本的连接方法)1。获取连接 获取连接需要两步,一是使用DriverManager来注册驱动(Class.forName(“com.mysql.jdbc.Driver”)),二是使用DriverManager来获取Connection对像DriverManager.getConnection(url,username,password)2.获取Statement(Statement stmt =con.createStatement();)Statement就是执行sql...

怎样学习java
答:java高级特性 递归程序,Java的高级特性:反射、代理和泛型、枚举、Java正则表达式API详解及其应用。第二阶段 技术名称 技术内容数据库技术 Oracle 基础管理 Oracle背景简介,数据库的安装,数据库的用户名和密码,客户端登录数据库服务SQLPLUS,数据库基本概。SQL语句 数据库的创建,表的创建,修改,删除,查询,索引的创建,主从...

自学Java 怎么入门?
答:JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维;面向对象,以对象方式去编写优美的Java程序;集合,后期开发中存储数据必备技术;IO,对磁盘文件进行读取和写入基础操作;多线程与并发,提高程序效率;异常,编写代码逻辑...

java程序怎样执行sql文件创建oracle表
答:代码样例:String sql = "create table tablename(id number, title varchar2(20), intro varchar2(200), time timestamp)";PreparedStatement stmt = conn.prepareStatement(sql);stmt.execute();解析:建表语句与oracle建表语句相同。主要的点是java程序与数据库连接及数据交互的过程代码。PreparedState...