jdbc工具类封装
封装
package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @author sawyer 2014下午1:20:16 * */ public class JdbcUtil { private Connection conn = null; private PreparedStatement stmt = null; private ResultSet rs = null; private static String driver = "com.mysql.jdbc.Driver"; private String url = "jdbc:mysql://localhost:3306/Student"; private String user = "root"; private String password = "root"; /** * Get the driver */ static { } /** * Connect the database */ public Connection getCon() { try { Class.forName(driver); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { conn = (Connection) DriverManager .getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * @param sql * @param obj *Update */ public int update(String sql, Object... obj) { int count = 0; conn = getCon(); try { stmt = conn.prepareStatement(sql); if (obj != null) { for (int i = 0; i < obj.length; i++) { stmt.setObject(i + 1, obj[i]); } } count = stmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { close(); } return count; } /** * @param sql * @param obj * Query */ public ResultSet Query(String sql, Object... obj) { conn = getCon(); try { stmt = conn.prepareStatement(sql); while (obj != null) { for (int i = 0; i < obj.length; i++) { stmt.setObject(i + 1, obj[i]); } } rs = stmt.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } finally { close(); } return rs; } /** * CLose the resource */ public void close() { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (stmt != null) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } }
model
package model; import java.io.Serializable; public class Student implements Serializable{ private int id; private int age; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
测试
package model; import java.sql.ResultSet; import java.sql.SQLException; import util.JdbcUtil; public class Test { public static void main(String[] args) { testInsert(); testQuery(); } public static void testInsert(){ Student s=new Student(); s.setId(12); s.setAge(23); s.setName("xxt"); JdbcUtil u=new JdbcUtil(); String sql="insert into T_Student(id,age,name) values( ?,?,?)"; int result=u.update(sql, s.getId(),s.getAge(),s.getName()); System.out.println(result); } public static void testQuery(){ String sql="select * from T_Student where age=?"; Student s=new Student(); s.setAge(23); JdbcUtil u=new JdbcUtil(); ResultSet rs=u.Query(sql, s.getAge()); try { if(rs.next()){ //s.setName(rs.getString("name")); System.out.println(rs.getString("name"));//s.getName(rs.getString("name")) } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
jdbc工具类封装的更多相关文章
- JDBC 工具类封装
每次使用jdbc 我们都要 加载驱动类 创建链接 创建Statement 接口对象执行sql 关闭资源 按照这样的套路可以封装一些重用代码方便在其他方法中调用 package com.xzlf.jdb ...
- MySQL数据库学习笔记(十一)----DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL JDBC事务处理、封装JDBC工具类
MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...
- DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...
- JDBC_13_封装JDBC工具类
封装JDBC工具类 代码: import java.sql.*; /** * JDBC工具类,简化JDBC编程 */ public class DBUtil { //工具类中的构造方法都是私有的,因为 ...
- jdbc 11: 封装自己的jdbc工具类
jdbc连接mysql,封装自己的jdbc工具类 package com.examples.jdbc.utils; import java.sql.*; import java.util.Resour ...
- 开源JDBC工具类DbUtils
本篇将会详细地介绍Apache公司的JDBC帮助工具类DbUtils以及如何使用.在上一篇中我们已经通过将以前对dao层使用JDBC操作数据库的冗余代码进行了简易封装形成自己的简单工具类JdbcUti ...
- JDBC第三篇--【事务、元数据、改造JDBC工具类】
这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 这是我JDBC的第二篇 http://blog.csdn.net/ho ...
随机推荐
- ORACLE 定时执行存储过程
推荐用dbms_scheduler方式更好 (2012-11-19注) /* 查询: select job,broken,what,interval,t.* from user_jobs t; job ...
- jboss eap 6.2+ 版本中 加密datasource密码等敏感信息
默认情况下,在jboss eap 6.2+ 管理控制台创建datasource后,会在standalone.xml(独立模式)或host.xml(域模式)中以明文保存相关敏感信息. 这会给服务器留下安 ...
- ZooKeeper 笔记(4) 实战应用之【消除单点故障】
关键节点的单点故障(Single Point of Failure)在大型的架构中,往往是致命的.比如:SOA架构中,服务注册中心(Server Register)统一调度所有服务,如果这个节点挂了, ...
- centos6-honeyd安装&配置
安装 需要装 libpcap libevent libdnet 等(!) 有些用的yum,有些下载的安装包手动安装 (wget tar configure make install 非常linux) ...
- unix环境高级编程基础知识之第二篇(3)
看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...
- PageRank算法简介及Map-Reduce实现
PageRank对网页排名的算法,曾是Google发家致富的法宝.以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理. 一.什么是pagerank Pag ...
- 我在 CSDN 的小窝
以后有文章,我会同时更新 博客园 和 CSDN. CSDN:http://blog.csdn.net/u010918003
- MPLS基础
1.1 MPLS简介 MPLS(Multiprotocol Label Switching,多协议标签交换)是一种新兴的IP骨干网技术.MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三 ...
- 利用ZTree链接数据库实现 [权限管理]
最近想研究权限管理,看群里有人发了ZTrees模板,我看了下,觉得笔easyUI操作起来更灵活些,于是就开始研究了. 刚开始从网上找了找了个Demo,当然这个并没有实现权限啥的,但实现了前台调用Aja ...
- javascript正则表达式验证IP,URL
验证IP function isIP(ipstr){ var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[ ...