关于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
//设置值,由于有表头,因此,第一行表的值从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这个方法,而查询语句与它们是分开的,需要重新写一个查询的方法。下期针对这个方法进行详细介绍!(未完。。。)