300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java mysql数据库封装_java-jdbc封装连接数据库工具

java mysql数据库封装_java-jdbc封装连接数据库工具

时间:2018-07-06 07:15:09

相关推荐

java mysql数据库封装_java-jdbc封装连接数据库工具

/************************************************************

Copyright(C),1988-1999,HuaweiTech.Co.,Ltd.

FileName:JDBCUtil.java

Author:Light

Version:version 1.0

Date: /7/12

Description: jdbc链接数据库的封装//模块描述

Version: 通过模块化实现jdbc连接数据库操作,减少开发代码关于数据库操作的编写量//版本信息

FunctionList: //主要函数及其功能

1.getConnection 进行数据库的链接

2.close 进行数据库的关闭

3.executeUpdate 执行数据的增删改

4.executeQuery执行数据的查询

History:

//历史修改记录

David96/10/121.0buildthismoudle

***********************************************************/public classJDBCUtil {//链接地址,设置编码可用且为utf-8

public static String URL="jdbc:mysql://192.168.80.131:3306/db1?useUnicode=true&characterEncoding=utf8";//数据库用户名

public static String USER="root";//数据库密码

public static String PWD="123456";/**进行数据库的链接*/

public staticConnection getConnection(){

Connection con=null;try{//加载驱动

Class.forName("com.mysql.jdbc.Driver");//创建链接

con=DriverManager.getConnection(URL, USER, PWD);

}catch(ClassNotFoundException e) {//TODO Auto-generated catch block

e.printStackTrace();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}//返回连接

returncon;

}/**数据库关闭*/

public static voidClose(Connection con,PreparedStatement pstmt,ResultSet rs){try{//判断是否被操作

if(rs!=null)

rs.close();if(pstmt!=null)

pstmt.close();if(con!=null)

con.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}/**创建数据库执行操作,返回受影响的行数

*@param String sql

*@param Object params

*@return int result*/

public static int executeUpdate(String sql,Object... params){//创建链接

Connection con=getConnection();

PreparedStatement pstmt=null;int result=0;try{//预编译sql语句,防止sql注入

pstmt=con.prepareStatement(sql);//传递参数,如果参数存在

if(params!=null){//进行循环传参

for(int i=0;i

pstmt.setObject(i+1, params[i]);

}

}//执行sql语句,返回受影响行数

result=pstmt.executeUpdate();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}finally{

Close(con,pstmt,null);

}returnresult;

}/**进行数据的查询,通过自建泛型RowMap,进行数据类型的定义

*@param String sql

*@param RowMap T

*@param Object params

*@return list*/

public static List executeQuery(String sql,RowMap rowMap,Object... params){//创建泛型List

List list=new ArrayList<>();//创建链接

Connection con=getConnection();

PreparedStatement pstmt=null;

ResultSet rs=null;try{//绑定sql语句

pstmt=con.prepareStatement(sql);//循环穿参

if(params!=null){for(int i=0;i

pstmt.setObject(i+1, params[i]);

}

}//执行语句,用结果集接收

rs=pstmt.executeQuery();while(rs.next()){//利用自建泛型实现数组的添加

T t=rowMap.rowMapping(rs);

list.add(t);

}

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}finally{

Close(con,pstmt,rs);

}returnlist;

}

//使用示例函数public static intupdate(){return executeUpdate("insert into student(name,age,sex) values(?,?,?)","姓名",12,"男");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。