Java连接SQL Server 2008和My SQL数据库的简单操作(1)

来源:互联网 发布:投影互动软件破解 编辑:程序博客网 时间:2024/04/30 10:30

关于Java数据库后台连接(SQL Server 2008和My SQL)

1、获取各个数据库地址的相关链接:(各个数据库的连接地址不同,因此先介绍一下它们的连接方式)

1)SQL Server 2008:URL = "jdbc:sqlserver://localhost:1433;DateBase=数据库名"


2)MySQL:URL="jdbc:mysql://localhost:3306/数据库名" + "?unicode=true&character=utf8&useSSL=false"

PS:后面“?”部分若是用MyEclipse来编程的,可能需要数据库编码的设置,useSSL设置现在高版本的MyEclipse对一种安全协议的要求


3)Oracle:URL="jdbc:oracle:thin:@localhost:1512:数据库名"

PS:通常SQL Server和My SQL这两个数据库最常用


2、Java与SQL Server 2008

PS:首先要创建各类数据库的连接,要先将各个数据库的驱动导入到工程项目中,以确保能够正确连接(大家可以去网上下载),一个专门连接数据库的类GetConn

import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;//导包的快捷方法shift+ctrl+O(英文字母o)public class GetConn{public static Connection getConn(){Connection conn = null;try{//1.加载SQL Server驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(ClassNotFoundException e){e.printStackTrace();                     }//2.设置URL,用户名及密码String url = "jdbc:sqlserver://localhost:1433;DateBase=数据库名";String user =  "sa";String password = "123456";try{conn = DriverManager.getConnection(url,user,password);   }catch(SQLException e){e.printStackTrace();}return conn;   }}
PS:以上代码就是关于Java对SQL Server的一个连接方式,但是,现实当中,当对数据库进行操作时,由于传递的参数未知,因此我们往往需要提供预编译的实现方式,来避免代码的重复。以下是对于数据库操作的方法实现(预编译)。

public int update(String sql,Object...objs){//(Object...objs)可变参数int res = 0;Connection conn = getConn();PreparedStatement pst = null;//PreparedStatement预编译ResultSet rs = null;try{pst = conn.prepareStatement(sql);if(objs != null && objs.length != 0){for(int i=0; i<objs.length;i++){//设置值,由于有表头,因此,第一行表的值从1开始pst.setObject(i+1,objs[i])}}res = pst.executeUpdate();//当有插入语句时,且id为自增长,要做以下步骤if(sqp.contains("insert")){pst = conn.prepareStatement("select @@identity");rs = pst.executeUpdate();if(rs.next()){res = rs.getInt(1);}}}catch(Exception e){e.printStackTrace();}finally{closeAll(null,pst,conn);//关闭数据库}return res;}

PS:不算结语的结语。由于增删改的语法一样因此,可共用update这个方法,而查询语句与它们是分开的,需要重新写一个查询的方法。下期针对这个方法进行详细介绍!(未完。。。)

0 0