方法一:【工具类】

NewDao:

 String sql = "select * from t1";DbUtils db = new DbUtils();Connection conn = null;ResultSet rs = null;Statement stmt = null;public void getNewsList() {conn = db.getConnection();try {Statement stms = (Statement) conn.createStatement();rs = stms.executeQuery(sql);while(rs.next()){String title = rs.getString("name");System.out.println("title=="+title);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}db.close(rs, stmt, conn);}

DbUtils:

String url = "jdbc:mysql://localhost:3306/news";String user = "root";String password = "3838438";public Connection getConnection() {Connection conn = null;try {Class.forName("com.mysql.jdbc.Driver");conn = (Connection) DriverManager.getConnection(url,user,password);}catch(ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public void close(ResultSet rs,Statement stmt,Connection conn) {if(rs!=null){try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}           //  关闭结果集对象}if(stmt!=null){try {stmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}     //  关闭 Statement 对象}if(conn!=null){try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}     //  关闭连接对象}}

方法二:【利用继承与接口】

BaseDao.java

package java.util.two;import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;public class BaseDao {protected Connection conn;protected PreparedStatement ps;protected Statement stmt;protected ResultSet rs;//获取数据库链接public boolean getConnection() {return true;}// 增、删、改、查public int executeUpdate(String sql,Object[] params) {int updateRows = 0;return updateRows;}//  查询public ResultSet executeSQL(String sql,Object[] params) {return rs;}//关闭资源public boolean closeResource() {return true;}
}

NewsDao.java

package java.util.two;import java.sql.Date;public interface NewsDao {//查询新闻信息public void getNewsList();//增加新闻信息public void add(int id,int category,String title,String summary,String content,Date createdate);//删除新闻信息public void delete(int id);//修改新闻标题信息public void update(int id,String title);
}

NewsDaoImpl.java

package java.util.two;import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.DbUtils;import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;public class NewsDaoImpl extends BaseDao implements NewsDao {String sql = "select * from t1";DbUtils db = new DbUtils();Connection conn = null;ResultSet rs = null;Statement stmt = null;;@Overridepublic void getNewsList() {conn = db.getConnection();try {Statement stms = (Statement) conn.createStatement();rs = stms.executeQuery(sql);while(rs.next()){String title = rs.getString("name");System.out.println("title=="+title);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}db.close(rs, stmt, conn);}@Overridepublic void add(int id, int category, String title, String summary, String content, Date createdate) {// TODO Auto-generated method stub}@Overridepublic void delete(int id) {// TODO Auto-generated method stub}@Overridepublic void update(int id, String title) {// TODO Auto-generated method stub}}

JavaWeb—优化JDBC代码相关推荐

  1. JavaWeb:JDBC之数据库连接池

    JDBC系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 使用JDBC实现水果超市管理系统 1. 池参数(所有池参数都有默认值) ...

  2. JavaWeb:JDBC之事务

    系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 使用JDBC实现水果超市管理系统 1. 事务 事务的四大特性:ACID mysq ...

  3. JavaWeb开发与代码的编写(二十四)

    JavaWeb开发与代码的编写(二十四) JNDI数据源的配置 数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下: ①加载数据库驱动程序(Class.forName("数 ...

  4. 数据库连接池---------------也优化了代码

    数据库连接池---------------也优化了代码 一.编写数据库连接池 ·实现javax.sql.DataSource接口,有getConnection()和getConnection(Stri ...

  5. asp java 变量_ASP_用stack变量优化Java代码,  java程序包含了大量的对象 - phpStudy...

    用stack变量优化Java代码 java程序包含了大量的对象,我们需要了解它们是从哪里被访问的,变量存储于何处对程序的性能有显著的影响--尤其是某些需要被频繁访问的变量. 我们写一个Java类,在其 ...

  6. c语言运行时显示内存不足,请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码...

    请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码 [size=4][size=5]我编的一个高精度解hilbert方程组的程序段,用的是GS跌代,但运行时出现"虚拟内存不足&qu ...

  7. 基于ceres的后端优化的代码实现

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨从零开始搭SLAM 作者丨李太白lx 由于g2o天然是进行位姿图优化的, 所以十分契合karto ...

  8. 优化JavaScript代码

    我google一下,已有人翻译了此文.感觉比我翻译的要好!是译言站翻译的 见www.yeeyan.com/articles/view/92135/47626/dz 原文见:http://code.go ...

  9. sqlaction 更新至 v0.2.1.0,自动生成 JDBC 代码的数据库持久层工具

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   0.2.1.0        2019-04-17        calvin             * 新增拦截器"@@STA ...

  10. FCKeditor 2.4.3精简优化带代码高亮(Dphighlighter)插件版

    FCKeditor 2.4.3精简优化带代码高亮(Dphighlighter)插件版 转自:http://www.sablog.net/blog/archives/288/ 不要问我有没有上传功能,或 ...

最新文章

  1. AS2的MD5/SHA1/TEA等加密算法类
  2. 图论--拓扑排序--HDU-1285确定比赛名次
  3. 面试题:Fibonacci数列
  4. python创建追加_Python文件的创建与追加
  5. 【操作系统】上下文切换
  6. 计算机导论python知识点_如何系统地自学 Python?
  7. P3275 [SCOI2011]糖果
  8. SpringBoot+SpringCloud —— 使用Feign消费服务
  9. 为全力发展AIOT,小米把松果电子分拆重组了
  10. 利用Apperance协议定义View的全局外观
  11. 一个简单的Windows
  12. MAC OSX 正確地同時安裝 PYTHON 2.7 和 PYTHON3
  13. centos7 install pip
  14. matlab构建公式模块,第五章 matlabsimlink下数学模型的建立.ppt
  15. 64位微型计算机64指技术指标,\\\64位微型计算机\\\中的64,是指下列技术指标中的...
  16. 简单的魔方复原方法, 魔方还原公式,图解
  17. 基于JavaSwing+Mysql的超市商品管理系统设计和实现
  18. 高亮蓝光油溶性ZnCdS/ZnS量子点(硫化锌镉/硫化锌)
  19. svn合并时候的诡异事件
  20. 【UnblockNeteaseMusic】代理网易云后隐藏NODE代理窗口方法

热门文章

  1. 路径 @/ ~/ / ./ ../
  2. std::function
  3. 使用ThinkPHP框架高速开发站点(多图)
  4. PHP精粹:编写高效PHP代码(资深PHP技术专家多……
  5. Cowboy 源码分析(二十六)
  6. 我国三大常用坐标系区别(北京54、西安80和WGS-84)
  7. 字符串连接类(Javascript)
  8. Windows Phone 7 检查手机网络
  9. 为什么有了scanf还要getchar()
  10. 预训练语言模型关系图+必读论文列表,清华荣誉出品