您的位置:首页 > 编程语言 > Java开发

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

2015-08-03 09:23 309 查看
/*

* 对数据库操作的类

* 对数据库的操作,就是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

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: