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
}
}
}
* 对数据库操作的类
* 对数据库的操作,就是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
}
}
}
相关文章推荐
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
- 关于旗正规则引擎规则中的上传和下载问题
- 杭电ACM2039java做法
- Java的单链表与双向链表的实现
- Java基础加强
- 详解Java中final的用法
- myeclipse报错: Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project
- 【转】java虚拟机参数详解之-Xms/-Xmx,运行时内存分配多少
- java常见的几种异常
- 深入理解java虚拟机-3 内存分配与回收策略
- org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: where near line 1, col
- Java中获取classpath路径下的资源文件【ClassLoader.getSystemResource("")获取当前ClassPath的绝对URI路径,还可以以流的形式获取文件】
- 开源 java CMS - FreeCMS2.3会员我的投稿
- java中数组与泛型的自我理解
- myeclipse无法新建jsp页面
- Java学习——Servlet是什么
- Spring容器中Bean的生命周期
- Mybatis结合Spring注解自动扫描源码分析
- java.lang.UnsupportedClassVersionError 错误分析
- JavaAnnotation