Java学习笔记---------SqlHelper 类实例

来源:互联网 发布:淘宝联盟高佣链接 编辑:程序博客网 时间:2024/06/06 01:48
/*
 * 对数据库操作的类
 * 对数据库的操作,就是crud
 * 调用存储过程
 * 
 *注意:如果连接数据库时出现如下异常则表示未引入三个JAR驱动包,另外一个原因就是SQL语句有语法错误
 *java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDviver
 * */
package com.mhl.db;
import java.util.*;
import java.sql.*;
public class SqlHelper {
//定义需要的对象
Connection ct=null;
PreparedStatement ps=null;
ResultSet rs=null;

String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=restaurant";
String user="sa";
String passwd="yuer";

//构造函数,初始化ct
public SqlHelper()
{
try {
//加载驱动
Class.forName(driver);
//得到连接
ct=DriverManager.getConnection(url,user,passwd);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//[]paras,通过?赋值方式可以防止漏洞注入方式,保证安全性   我对这一点很是疑惑:String [] paras 的作用是什么???  为什么这样能防止漏洞注入???
public ResultSet query(String sql,String []paras)
{
try {
ps=ct.prepareStatement(sql);
//对sql的参数赋值
for(int i=0;i<paras.length;i++)
{
ps.setString(i+1, paras[i]);
}
//执行查询
rs=ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
//返回结果集
return rs;
}
//关闭资源的方法
public void close()
{
try {
if(rs!=null) rs.close();
if(ps!=null) ps.close();
if(ct!=null) ct.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
0 0
原创粉丝点击