JSP实战型程序连载:通用数据库连接JavaBean

package online;

 

import java.sql.*;

 

public class DBConn {

  private static String rootpath = "web发布路径";

  private String sample = "sample";

  private Connection con = null;

  private Statement stmt = null;

  ResultSet rs = null;

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

  private static final String DRIVE = "sun.jdbc.odbc.JdbcOdbcDriver";

  //暂时使用jdbc-odbc连接//"com.microsoft.jdbc.sqlserver.SQLServerDriver";

  private static final String USERNAME = "sa";

  private static final String PASSWORD = "123aaa";

  private static final String HOST = "http:127.0.0.1:8080/renshi";

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

  //暂时使用jdbc-odbc数据源

  private static final String CONNECTION_STRING = "jdbc:odbc:renshi";

  //"jdbc:microsoft:sqlserver://localhost;1433;";

  public static String getRootPath() {

    return rootpath;

  }

 

  public DBConn() { //加载驱动

    try {

      Class.forName(DRIVE);

    }

    catch (ClassNotFoundException e) {

      System.err.println("DBConn():" + e.toString());

    }

    catch (Exception e) {

      System.err.println("DBConn():" + e.toString());

    }

  }

 

  public Connection getConnection() { //得到连接

    try {

      String strUrl = CONNECTION_STRING;

      /***********周五晚改动****************************************/

      //+ "DatebaseName=renshi," + USERNAME +"," + PASSWORD;

      con = DriverManager.getConnection(strUrl, this.USERNAME, this.PASSWORD);

    }

    catch (Exception e) {

      con = null;

    }

    return con;

  }

 

  public void dropConnection() { //关闭连接

    try {

      closeStmt();

      con.close();

    }

    catch (Exception ignored) {

    }

    finally {

      con = null;

    }

  }

 

  public ResultSet executeQuery(String sql) { //执行sql查询

    ResultSet rs = null;

    try {

      con = getConnection();

      stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

                                 ResultSet.CONCUR_READ_ONLY);

      rs = stmt.executeQuery(sql);

    }

    catch (SQLException ex) {

      System.err.println("DBConn.executeQuery():" + ex.getMessage());

    }

    return rs;

  }

 

  public int executeUpdate(String sql) { //执行sql更新语句

    int i=0;

    stmt = null;

    rs = null;

    try {

      con = getConnection();

      stmt = con.createStatement();

     i= stmt.executeUpdate(sql);

      stmt.close();

      con.close();

    }

    catch (SQLException ex) {

      System.err.println("DBConn:executeUpdate(0:" + ex.getMessage());

    }

    return i;

  }

 

  public void execute(String sql) { //执行sql语句

    stmt = null;

    rs = null;

    try {

      con = getConnection();

      stmt = con.createStatement();

      stmt.execute(sql);

      stmt.close();

      con.close();

    }

    catch (SQLException ex) {

      System.err.println("DBConn:excute():" + ex.getMessage());

    }

  }

 

  public void closeConn() { //关闭sql连接

    try {

      stmt.close();

    }

    catch (SQLException e) {

      e.printStackTrace();

    }

  }

 

  public void closeStmt() { //关闭sql连接

    try {

      con.close();

    }

    catch (SQLException e) {

      e.printStackTrace();

    }

 

  }

 

  /**

   * main

   */

  public static void main(String[] args) throws SQLException {

    DBConn one=new DBConn();

    ResultSet rs=one.executeQuery("select * from PS_INFO");

    while(rs.next()){

      System.out.println(rs.getString(2));

    }

  }

 

}

 

转载于:https://www.cnblogs.com/duadu/archive/2006/05/30/6167173.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java变换变量赋值_Java变量的类型转换

在程序中,当把一种数据类型的值赋给另一种数据类型的变量时,需要进行数据类型转换。根据转换方式的不同,数据类型转换可分为两种:自动类型转换和强制类型转换。自动类型转换自动类型转换也叫隐式类型转换,指的是两种数据类型在转换…

字符串的拼接

再字符串的拼接的时候对一些字符需要进行转译&#xff0c;要不然会出现问题 var btn <button class"jui-form-button" type"button" οnclick"save_msg(\ json[i].id \,\ json[i].template \,document.getElementById(\disab i \).value,do…

[vue] vue在组件中引入插件的方法有哪些?

[vue] vue在组件中引入插件的方法有哪些&#xff1f; 插件通常用来为 Vue 添加全局功能。插件的功能范围没有严格的限制——一般有下面几种&#xff1a;添加全局方法或者属性。如: vue-custom-element添加全局资源&#xff1a;指令/过滤器/过渡等。如 vue-touch通过全局混入来…

]英文资料大全

语法 http://www.dailygrammar.com/ adventuretv,提供视频资料&#xff0c;内容多是各地的风土人情&#xff0c;很不错。 http://www.adventuretv.com/ 纽约时报&#xff0c;网上看新闻的好地方 http://www.nytimes.com/ 英文MP3下载的好地方 http://www.mp3raid.com/archiv…

java linearlayout_LinearLayout属性用法和源码分析

对于一个View(ViewGroup)来说实现无非于三个流程&#xff0c;onMeasure(测量)&#xff0c;onLayout(定位)&#xff0c;onDraw(绘制)&#xff0c;接下来就对这三个部分一一分析但是首先还是对LinearLayout变量进行介绍1.LinearLayout变量其实LinearLayout变量与上篇属性篇中关联…

[vue] vue实例挂载的过程是什么?

[vue] vue实例挂载的过程是什么&#xff1f; render, 没有则去编译编译vdom对实例进行watch个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

如何进行.NET高效开发

sugar 2006-03-12 13:53 转载于:https://www.cnblogs.com/SCOTT-SUN/archive/2006/06/02/416077.html

Linux 系统更改界面显示详解

1,修改配置文件 # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/…

jni c java互相调用_通过JNI实现Java和C++的相互调用

评论# re: 通过JNI实现Java和C的相互调用2008-07-29 14:14Always BaNg.不错&#xff0c;把字符转换也一并讲了吧&#xff0c;比如UTF-8的处理&#xff0c;USC-2与MBCS转换等。 回复 更多评论# re: 通过JNI实现Java和C的相互调用[未登录]2008-07-29 14:17role0523你是指Java和…

Apache——Introduction

Apache——IntroductionIntroduction Apache是有着10年悠久历史的项目了&#xff0c;据有关方面的调查&#xff0c;有超过70&#xff05;的站点都使用Apache作为Web Server&#xff0c;可见其应用的广泛了。Apache适用于现代的各种操作系统&#xff0c;包括Unix、Linux和Window…

洛谷 P3244 / loj 2115 [HNOI2015] 落忆枫音 题解【拓扑排序】【组合】【逆元】

组合计数的一道好题。什么非主流题目 题目背景 &#xff08;背景冗长请到题目页面查看&#xff09; 题目描述 不妨假设枫叶上有 \(n​\) 个穴位&#xff0c;穴位的编号为 \(1\sim n​\)。有若干条有向的脉络连接着这些穴位。穴位和脉络组成一个有向无环图——称之为脉络图&…

[vue] 说说你对选项el,template,render的理解

[vue] 说说你对选项el,template,render的理解 el: 把当前实例挂载在元素上 template: 实例模版, 可以是.vue中的template, 也可以是template选项, 最终会编译成render函数 render: 不需要通过编译的可执行函数template和render, 开发时各有优缺点, 不过在线上尽量不要有templa…

mysql获取离当前数据最近的数据_Mysql 获取最近数据信息

今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) < 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 wh…

参加宴会的烦恼

公司历经很多磨难&#xff0c;终于挺过来了&#xff0c;明天就是正式重新成立的日子&#xff0c;我有幸去参加宴会&#xff0c;要求穿便服&#xff0c;一年四季穿工作服习惯了&#xff0c;自己衣服倒不知道该怎么穿了。看来我又要败家了。。。。。看中的衣服都好贵&#xff0c;…

[vue] 说说你使用vue过程中遇到的问题(坑)有哪些,你是怎么解决的?

[vue] 说说你使用vue过程中遇到的问题&#xff08;坑&#xff09;有哪些&#xff0c;你是怎么解决的&#xff1f; 从详情页返回列表页时, 要保存所有状态, 比如: 滚动条位置, 数据, 下拉数据等 当时想用keep-alive, 后来没用, 直接存储一些关键数据, 返回到router时重新加载了…

python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...

具体问题就是&#xff1a;当我往空列表里面添加字典&#xff0c;需要修改其中的一个键的值的时候&#xff0c;出现把其他同类的值也修改了。下面就是出现问题的代码&#xff1a;aliens []new_alien {"color": "green"}#往字典里添加5个字典for num in ra…

配置msf连接postgresql数据库

BackTrack 5 R3版本的Metasploit在每次的升级后总会出现奇奇怪怪的错误&#xff0c;主要是Ruby的库出错&#xff0c;网上找了一些解决的办法&#xff0c;但每次更新后又会出错&#xff0c;蛋碎。 解决方法&#xff1a; BackTrack 5中默认自动开启端口7337。 1、查看PostgreSQL端…

js :check 檢查

DropDownList是否選定的判定&#xff1a;if (Form1.DropDownList1.selectedIndex(parseInt("0"))){ alert("12555"); return false;}checkbox是否選定的判定&#xff1a;if (document.Form1.RadioButton1.checkedfalse) { alert(請選定復判結果&#x…

[vue] 组件和插件有什么区别?

[vue] 组件和插件有什么区别&#xff1f; 组件 (Component) 是用来构成你的 App 的业务模块&#xff0c;它的目标是 App.vue。插件 (Plugin) 是用来增强你的技术栈的功能模块&#xff0c;它的目标是 Vue 本身。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放…

java8 stream to map_Java 8 Stream Api 中的 map和 flatMap 操作

1.前言Java 8 提供了非常好用的 Stream API ,可以很方便的操作集合。今天我们来探讨两个 Stream 中间操作 map 和 flatMap2. map 操作map 操作是将流中的元素进行再次加工形成一个新流。这在开发中很有用。比如我们有一个学生集合&#xff0c;我们需要从中提取学生的年龄以分析…