当前位置:首页 » 编程语言 » java连接sql代码

java连接sql代码

发布时间: 2025-03-29 11:02:18

java如何实现sql连接和查询的代码

import java.sql.Connection。

Ⅱ Java如何连接SQL

第一通过ODBC数据源连接
package dbmanager;

import java.sql.*;
public class Sql {
public Sql() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}

/**
* jbInit
*/
private void jbInit() {
}

public static Connection getConnection() {
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ce) {
System.out.println(ce);
}
try {
//test为数据猿名称
String url = "jdbc:odbc:test";
String str;
con = DriverManager.getConnection(url);
} catch (SQLException ce) {
System.out.println(ce);
}

return con;
}
}
配置ODBC数据源
winxp系统,开始-控制面板-性能和维护-管理工具-ODBC数据源-
添加-sql server(在最下方)-完成-数据源名:test-服务器:.
-下一步-下一步-更改连接的数据库-下一步-完成-测试数据源
我QQ459193055

第二,通过JDBC直接连接数据库
package sqlconn;

import java.sql.*;

public class Conn {
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";

public Conn()
{
try
{
Class.forName(DBDriver).newInstance();
conn=DriverManager.getConnection(ConnStr,"sa","sa");

}
catch(SQLException e)
{
System.out.println(e.getMessage());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}

public static Connection getConn() //获取连接方法
{
return conn;
}
需要三个文件做驱动程序

Ⅲ java 怎么连接sql数据库 帮忙步骤讲解以及代码参考

首先,使用JDBC技术获取数据库连接:
public static Connection getConnection(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "root", "root");
return con;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
Class.forName(数据库驱动);
这是JVM在加载数据库驱动。
DriverManager.getConnection(url,username,password);
url是指连接数据库的地址。
像上面我写的URL是这样的:jdbc:oracle:thin:@127.0.0.1:1521:orcl
127.0.0.1是指本机,也可以用localhost代替,1521是数据库端口号(本人用的是oracle10g),orcl是指oracle_sid。username/password数据库的用户名和密码。有的数据库的url可能不是这样。当然可以去网上查一下就知道了。

这种连接方法是一次请求一次连接,是比较浪费资源的。
像tomcat,weblogic等服务器都带有连接池来避免资源的浪费,而且现在好象有规定,只要是服务器就必须带有连接池。
至于连接池的连接方法,不同的服务器有不同的获得方法。建议你用哪个就去学哪个。

有连接就有关闭数据库,获得数据库连接后一定要记得关闭资源。
public static void close(Connection con){
if(con!=null){
try{con.close();}catch(Exception e){}
}
}
为了方便,不防写成一个方法。

获取连接后,然后使用这个连接去创建相应的Statement来操作数据库。
有Statement,PerparedStatement,CallableStatement这几种statement可以用来创建。
我们先看看Statement的使用。
public static void main(String[] args) {
Connection con=JDBCUtil.getConnection();
Statement stat=null;
ResultSet rs=null;
try{
String sql="select a_id,a_name,a_no from a";
stat=con.createStatement();
rs=stat.executeQuery(sql);
while(rs.next()){
System.err.println(rs.getInt(1)+"/"+rs.getString(2)+"/"+rs.getInt(3));
}
}catch(Exception e){
e.printStackTrace();
}
JDBCUtil.close(rs,stat,con);
}
注释:
stat=con.createStatement();是用连接创建Statement对象。
stat.executeQuery(sql);是执行查询语句。这个方法返回的是一个结果集。即ResultSet。可以将查询出来的结果放入结果集中。
rs.next()这个方法返回的一个boolean类型的值,即当指针能够往下走时,返回true,否则返回false。这样就可以保证能够遍历这个结果集了。

当然这里出现了Statement,ResultSet,那么close()方法也得变化了。
如下:
public static void close(ResultSet rs,Statement stat,Connection con){
if(rs!=null){
try{rs.close();}catch(Exception e){}
}
if(stat!=null){
try{stat.close();}catch(Exception e){}
}
if(con!=null){
try{con.close();}catch(Exception e){}
}
}
注意关闭顺序,一定是先ResultSet,后Statement,最后Connection.
由于PerparedStatement和CallableStatement都是Statement的实现类,根据JAVA多态的用法,close()方法就算完全写完了,不用改了。

现在来看看结果:
2/all/2
1/hello/1

===================================================================
现在我们用PerparedStatement来查询:
Connection con=JDBCUtil.getConnection();
PreparedStatement stat=null;
ResultSet rs=null;
try{
String sql="select a_id,a_name,a_no from a where a_id=?";
stat=con.prepareStatement(sql);
stat.setInt(1, 1);
rs=stat.executeQuery();
while(rs.next()){
System.err.println(rs.getInt(1)+"/"+rs.getString(2)+"/"+rs.getInt(3));
}
}catch(Exception e){
e.printStackTrace();
}
JDBCUtil.close(rs,stat,con);
这里的sql语句里有一个值是未确定的。这样就可以实现预编译,大大提高了程序的运行效率。流程如下:
stat=con.prepareStatement(sql);这个方法就将这个sql语句进行了一次编译,查看有没有什么明显的语法错误等。
如果没错,再通过stat.setInt(1, 1);将缺失的值补回去然后再执行sql查询。
PreparedStatement为批处理提供了一系统方法,让批查询、批更新等更加的效率。

让我们看看结果:
1/hello/1
==============================================================
CallableStatement是专门用于处理存储过程的。
如果想深入的学习,建议你去查看相关资料。

热点内容
在配置命令的时候输错了怎么删除 发布:2025-04-01 02:42:01 浏览:687
正当访问案例 发布:2025-04-01 02:32:27 浏览:970
多媒体存储设备有哪些 发布:2025-04-01 02:31:35 浏览:124
华鑫证券配置怎么样 发布:2025-04-01 02:31:31 浏览:812
java代码混淆工具 发布:2025-04-01 02:24:02 浏览:91
苹果电脑链接服务器 发布:2025-04-01 02:22:27 浏览:864
游戏云服务器好不好 发布:2025-04-01 02:21:47 浏览:735
android防止进程 发布:2025-04-01 02:15:02 浏览:709
如何查询股票账号密码 发布:2025-04-01 02:10:56 浏览:448
2019更改默认预编译头文件 发布:2025-04-01 02:09:15 浏览:18