`
ding43930053
  • 浏览: 42518 次
社区版块
存档分类
最新评论

jDBC工具类和bean结合

 
阅读更多
package com.tdb.dao;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement ;
import java.sql.Date;


/**
 * 处理数据库的连接和访问
 * @author sanware bqlr
 * @version 1.01
 */
public class MyOracle {

	private Connection conn = null;
	private Statement stmt = null;
	private PreparedStatement prepstmt = null;

//	这是一个全局类,里面放置数据库的参数,如数据库主机 访问用户名 密码等
	private static BeansConstants CONST = BeansConstants.getInstance();

	/**
	 * 构造数据库的连接和访问类
	 */
	public MyOracle() throws Exception {
		Class.forName(CONST.dbdriver);
		conn = DriverManager.getConnection(CONST.dburl, CONST.du, CONST.dp);
		stmt = conn.createStatement();
	}
	public MyOracle(String sql) throws Exception {
		Class.forName(CONST.dbdriver);
		conn = DriverManager.getConnection(CONST.dburl, CONST.du, CONST.dp);
		this.prepareStatement(sql);
	}

	/**
	 * 返回连接
	 * @return Connection 连接
	 */
	public Connection getConnection() {
		return conn;
	}
	/**
	 * PreparedStatement
	 * @return sql 预设SQL语句
	 */
	public void prepareStatement(String sql) throws SQLException {
		prepstmt = conn.prepareStatement(sql);
	}
	/**
	 * 设置对应值
	 * @param index 参数索引
	 * @param value 对应值
	 */
	public void setString(int index,String value) throws SQLException {
		prepstmt.setString(index,value);
	}
	public void setInt(int index,int value) throws SQLException {
		prepstmt.setInt(index,value);
	}
	public void setBoolean(int index,boolean value) throws SQLException {
		prepstmt.setBoolean(index,value);
	}
	public void setDate(int index,Date value) throws SQLException {
		prepstmt.setDate(index,value);
	}
	public void setLong(int index,long value) throws SQLException {
		prepstmt.setLong(index,value);
	}
	public void setFloat(int index,float value) throws SQLException {
		prepstmt.setFloat(index,value);
	}
//	File file = new File("test/data.txt");
//	int fileLength = file.length();
//	InputStream fin = new java.io.FileInputStream(file);
//	mysql.setBinaryStream(5,fin,fileLength);
	public void setBinaryStream(int index,InputStream in,int length) throws SQLException {
		prepstmt.setBinaryStream(index,in,length);
	}

	public void clearParameters()
	throws SQLException
	{
		prepstmt.clearParameters();
	}
	/**
	 * 返回预设状态
	 */
	public PreparedStatement getPreparedStatement() {
		this.getConnection();
		return prepstmt;
	}
	

	/**
	 * 返回状态
	 * @return Statement 状态
	 */
	public Statement getStatement() {
		return stmt;
	}
	/**
	 * 执行SQL语句返回字段集
	 * @param sql SQL语句
	 * @return ResultSet 字段集
	 */
	public ResultSet executeQuery(String sql) throws SQLException {
		if (stmt != null) {
			return stmt.executeQuery(sql);
		}
		else return null;
	}
	public ResultSet executeQuery() throws SQLException {
		if (prepstmt != null) {
			return prepstmt.executeQuery();
		}
		else return null;
	}
	/**
	 * 执行SQL语句
	 * @param sql SQL语句
	 */
	public void executeUpdate(String sql) throws SQLException {
		if (stmt != null)
			stmt.executeUpdate(sql);
	}
	public void executeUpdate() throws SQLException {
		if (prepstmt != null)
			prepstmt.executeUpdate();
	}
	/**
	 * 关闭连接
	 */
	public void close() throws Exception {
		if (stmt != null) {
			stmt.close();
			stmt = null;
		}
		if (prepstmt != null) {
			prepstmt.close();
			prepstmt = null;
		}
		conn.close();
		conn = null;
	}
}
package com.tdb.dao;

public class BeansConstants {

 public static final String dbdriver = "oracle.jdbc.driver.OracleDriver";
 public static final String dburl = "jdbc:oracle:thin:@127.0.0.1:1521:tvds";
 public static final String du = "tdb";
 public static final String dp = "tdb";
 public static BeansConstants getInstance() {
  // TODO Auto-generated method stub
  return new BeansConstants();
 }

}

BeansConstants 

package com.tdb.dao;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement ;
import java.sql.Date;


/**
* 处理数据库的连接和访问
* @author sanware bqlr
* @version 1.01
*/
public class MyOracle {

private Connection conn = null;
private Statement stmt = null;
private PreparedStatement prepstmt = null;

// 这是一个全局类,里面放置数据库的参数,如数据库主机 访问用户名 密码等
private static BeansConstants CONST = BeansConstants.getInstance();

/**
* 构造数据库的连接和访问类
*/
public MyOracle() throws Exception {
Class.forName(CONST.dbdriver);
conn = DriverManager.getConnection(CONST.dburl, CONST.du, CONST.dp);
stmt = conn.createStatement();
}
public MyOracle(String sql) throws Exception {
Class.forName(CONST.dbdriver);
conn = DriverManager.getConnection(CONST.dburl, CONST.du, CONST.dp);
this.prepareStatement(sql);
}

/**
* 返回连接
* @return Connection 连接
*/
public Connection getConnection() {
return conn;
}
/**
* PreparedStatement
* @return sql 预设SQL语句
*/
public void prepareStatement(String sql) throws SQLException {
prepstmt = conn.prepareStatement(sql);
}
/**
* 设置对应值
* @param index 参数索引
* @param value 对应值
*/
public void setString(int index,String value) throws SQLException {
prepstmt.setString(index,value);
}
public void setInt(int index,int value) throws SQLException {
prepstmt.setInt(index,value);
}
public void setBoolean(int index,boolean value) throws SQLException {
prepstmt.setBoolean(index,value);
}
public void setDate(int index,Date value) throws SQLException {
prepstmt.setDate(index,value);
}
public void setLong(int index,long value) throws SQLException {
prepstmt.setLong(index,value);
}
public void setFloat(int index,float value) throws SQLException {
prepstmt.setFloat(index,value);
}
// File file = new File("test/data.txt");
// int fileLength = file.length();
// InputStream fin = new java.io.FileInputStream(file);
// mysql.setBinaryStream(5,fin,fileLength);
public void setBinaryStream(int index,InputStream in,int length) throws SQLException {
prepstmt.setBinaryStream(index,in,length);
}

public void clearParameters()
throws SQLException
{
prepstmt.clearParameters();
}
/**
* 返回预设状态
*/
public PreparedStatement getPreparedStatement() {
this.getConnection();
return prepstmt;
}


/**
* 返回状态
* @return Statement 状态
*/
public Statement getStatement() {
return stmt;
}
/**
* 执行SQL语句返回字段集
* @param sql SQL语句
* @return ResultSet 字段集
*/
public ResultSet executeQuery(String sql) throws SQLException {
if (stmt != null) {
return stmt.executeQuery(sql);
}
else return null;
}
public ResultSet executeQuery() throws SQLException {
if (prepstmt != null) {
return prepstmt.executeQuery();
}
else return null;
}
/**
* 执行SQL语句
* @param sql SQL语句
*/
public void executeUpdate(String sql) throws SQLException {
if (stmt != null)
stmt.executeUpdate(sql);
}
public void executeUpdate() throws SQLException {
if (prepstmt != null)
prepstmt.executeUpdate();
}
/**
* 关闭连接
*/
public void close() throws Exception {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (prepstmt != null) {
prepstmt.close();
prepstmt = null;
}
conn.close();
conn = null;
}

}


创建BeansConstants 类

package com.tdb.dao;

public class BeansConstants {

	public static final String dbdriver = "oracle.jdbc.driver.OracleDriver";
	public static final String dburl = "jdbc:oracle:thin:@127.0.0.1:1521:tvds";
	public static final String du = "tdgb";
	public static final String dp = "tdgb";
	public static BeansConstants getInstance() {
		// TODO Auto-generated method stub
		return new BeansConstants();
	}

}
创建bean类

package com.tdb.dao;

import java.sql.ResultSet;

public class DeviceBean {
	
	private String deviceNo;
	private String deviceModel;
	private String deviceScope;
	private String deviceAddress;
	private String radminUserName;
	private String radminPass;
	private String radminAddress;
	
	
	public String getDeviceNo() {
		return deviceNo;
	}
	public void setDeviceNo(String deviceNo) {
		this.deviceNo = deviceNo;
	}
	public String getDeviceModel() {
		return deviceModel;
	}
	public void setDeviceModel(String deviceModel) {
		this.deviceModel = deviceModel;
	}
	public String getDeviceScope() {
		return deviceScope;
	}
	public void setDeviceScope(String deviceScope) {
		this.deviceScope = deviceScope;
	}
	public String getDeviceAddress() {
		return deviceAddress;
	}
	public void setDeviceAddress(String deviceAddress) {
		this.deviceAddress = deviceAddress;
	}
	public String getRadminUserName() {
		return radminUserName;
	}
	public void setRadminUserName(String radminUserName) {
		this.radminUserName = radminUserName;
	}
	public String getRadminPass() {
		return radminPass;
	}
	public void setRadminPass(String radminPass) {
		this.radminPass = radminPass;
	}
	public String getRadminAddress() {
		return radminAddress;
	}
	public void setRadminAddress(String radminAddress) {
		this.radminAddress = radminAddress;
	}
	
	private String deviceBase_insert="insert into deviceBase values (?,?,?,?,?,?,?)";
	
	public void insertnavlink() throws Exception
	{
		try{
			ResultSet rs=null;
			MyOracle myoracle = new MyOracle(deviceBase_insert);
			myoracle.setString(1, this.deviceNo);
			myoracle.setString(2, this.deviceModel);
			myoracle.setString(3, this.deviceScope);
			myoracle.setString(4, this.deviceAddress);
			myoracle.setString(5, this.radminUserName);
			myoracle.setString(6, this.radminPass);
			myoracle.setString(7, this.radminAddress);
			myoracle.executeUpdate();
               myoracle.close();					
                        myoracle = null;

		} catch (Exception ex) {
			throw new Exception("insertnavlink()"+ex.getMessage());
		}
	}
	
}

在Jsp中,就可以直接使用一句语句使用insertnavlink()了:

<jsp:useBean id="NAV" scope="session" class="mysite.Navlink" />
<jsp:setProperty name="NAV" property="*" />
........
NAV.insertnavlink();
......


分享到:
评论

相关推荐

    JDBC数据库操作工具类

    9. **重用连接池**:在实际应用中,为了提高性能和减少数据库连接创建与销毁的开销,工具类往往结合连接池(如C3P0、HikariCP或DBCP)来管理数据库连接。 10. **线程安全**:如果工具类在多线程环境中使用,需要...

    jdbc工具包

    JDBC工具包通常包括一系列的类和接口,它们使得在Java应用程序中执行SQL语句、处理结果集以及管理数据库连接变得简单。 **JDBC核心组件** 1. **DriverManager**: 这是JDBC的核心,负责管理数据库驱动程序。通过`...

    JAVA 版本ResultSet 转换为JAVABEAN的工具类

    这个工具类通常包含一个静态方法,接受ResultSet和JavaBean类型作为参数,然后遍历ResultSet,将数据填充到JavaBean对象中: ```java import java.sql.ResultSet; import java.sql.SQLException; public class ...

    Java提高,swing,jdbc,bean

    Java提高是每一个Java开发者在掌握基础语法后追求的...在实际项目中,开发者可能会结合使用这些技术,比如用Swing创建GUI,通过JDBC访问数据库,并利用Java Bean进行数据模型的设计和交换,从而构建出功能完善的系统。

    JdbcUtil(Jdbc通过工具类)

    JdbcUtil是一个常见的工具类,它封装了JDBC的基本操作,以简化数据库的访问,减少代码量,并提高代码的可维护性。下面将详细阐述JdbcUtil中的主要知识点及其重要性。 1. **连接管理**:JdbcUtil通常包含建立和关闭...

    JDBC连接使用的包与DBUtils工具包

    在实际开发中,结合`mysql-connector-java-5.1.37-bin.jar`和`commons-dbutils-1.6.jar`,开发者可以更方便、安全地进行数据库操作。只需配置好数据库连接参数,就可以利用DBUtils的便捷功能执行SQL查询、插入、更新...

    java jdbc 需要包

    6. `spring-core-3.2.0.M1.jar`: Spring的核心模块,提供了核心工具类和依赖注入基础设施。 7. `spring-jdbc-3.2.0.M1-sources.jar` 和 `spring-jdbc-3.2.0.M1.jar`: 这两个文件是Spring JDBC模块的源代码和编译后...

    dbutils JDBC第三方工具类

    **dbutils JDBC第三方工具类详解** 在Java编程中,数据库操作是不可或缺的一部分,而JDBC(Java Database Connectivity)则是Java语言连接数据库的标准接口。然而,直接使用JDBC进行数据库操作时,代码通常会显得...

    这里有一个好东西.Util工具类集合哦~~

    下面将详细讨论Util工具类以及可能包含在压缩包中的两个文件`UtilBean.java`和`JDBCBean.java`。 1. **Util工具类**: Util工具类通常是一些静态类,包含了一系列静态方法,用于执行常见的任务,如字符串处理、...

    spring的JDBC开发类

    其次,`SimpleJdbcInsert`和`SimpleJdbcCall`是另外两个非常有用的工具类。`SimpleJdbcInsert`简化了插入数据的过程,允许我们基于表结构动态构造INSERT语句,而`SimpleJdbcCall`则用于执行存储过程,使得调用数据库...

    java自动生成bean 根据数据库表及字段(.net 2.0版本)新添Dao层jdbc生成

    总之,利用工具自动生成Bean和DAO层是现代软件开发中的常见实践,它有助于提高开发效率,保持代码一致性,并且便于团队协作。在.NET 2.0环境中,结合JDBC,我们可以构建高效的数据访问层,实现与数据库的无缝连接。...

    Jdbcsupport培训 详细讲解jdbcsupport

    JdbcTemplate是Spring提供的一个强大且灵活的JDBC工具,它包含了许多预定义的数据库操作方法,如update()、query()等,用于执行更新、查询等SQL语句。在上述示例中,通过调用getJdbcTemplate().update()方法,可以...

    Spring JDBC常用Jar包

    在Spring JDBC中,你需要定义DataSource bean和其他相关bean,以便Spring可以管理和注入到你的应用中。 在实际开发中,这些jar包的组合使用能够帮助你构建高效、灵活且易于维护的数据库访问层。例如,通过Spring ...

    spring中jdbc的操作

    总之,Spring JDBC通过提供强大的模板类和工具类,降低了JDBC编程的复杂性,提高了代码的可维护性。在实际项目中,结合Spring的事务管理,可以构建出高效、健壮的数据库访问层。如果你对Spring JDBC感兴趣,这个资源...

    Spring JDBC模板类—org.springframework.jdbc.core.JdbcTemplate

    总的来说,`org.springframework.jdbc.core.JdbcTemplate`是Spring框架中的一个强大工具,它通过提供一系列便捷的方法,简化了数据库操作,同时通过事务管理和异常处理保证了代码的健壮性。了解并熟练使用`...

    spring jdbc相关包版本5.1.3

    4. **spring-jdbc-5.1.3.RELEASE.jar**:此包专注于数据库操作,提供了模板类如`JdbcTemplate`和`SimpleJdbcInsert`,使得数据库操作更加简洁,避免了手动管理连接和结果集。 5. **spring-aop-5.1.3.RELEASE.jar**...

    使用Spring JDBC 案例

    在本文中,我们将深入探讨如何使用Spring JDBC进行数据库操作,并结合使用不同的连接池技术,包括Spring自带的、C3P0、DBCP和Druid。此外,我们还将介绍一个自定义的行映射器工具类,它在处理数据库查询结果时能提供...

    mybatis自动生成bean、mapper工具

    为了解决这个问题,MyBatis提供了一种自动化工具,可以自动生成Bean和Mapper,大大提升了开发效率。 生成Bean和Mapper工具有很多种,不仅限于MyBatis官方提供的,还有许多第三方插件和工具。这些工具能够根据数据库...

    使用jsp+servlet+java bean+jdbc实现功能,外加html+css+js手捏页面的图书管理系统.zip

    在现代Web开发中,JSP(JavaServer Pages)和Servlet技术是构建动态网站的重要工具,它们与Java Bean和JDBC(Java Database Connectivity)相结合,可以创建功能强大的企业级应用。本项目是一个典型的“使用jsp+...

    自动生成mybatis的mapper文件和bean

    在开发过程中,手动编写Mapper接口、Mapper XML文件以及对应的实体类(bean)是一项繁琐的工作。为了提高开发效率,我们可以利用特定的工具来自动创建这些文件。 本话题主要涉及以下知识点: 1. **MyBatis框架**:...

Global site tag (gtag.js) - Google Analytics