博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC db层,封装方法(查,增,改,删)
阅读量:3960 次
发布时间:2019-05-24

本文共 2659 字,大约阅读时间需要 8 分钟。

package java619.db层;import java.sql.*;//创建不拼接字符串的crud方式public class test {	public  String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 	public  String dbURL = "jdbc:sqlserver://localhost:1433 ;Databasename =studentDB;" 				+"integratedSecurity=true";		private Connection dbConn = null;	private PreparedStatement stmt = null; // sql对象可以不用拼接字符串	private ResultSet rs = null;	// 调用创建连接 http://www.worlduc.com/blog2012.aspx?bid=49167509	public test() { // 构造方法调用数据库连接。一旦创建对象,数据库建立连接		this.getConnection();	}	// 编写数据库连接的方法	public void getConnection() {		try {			Class.forName(driverName);			dbConn = DriverManager.getConnection(dbURL);			System.out.println("连接数据库成功");		} catch (Exception e) {			e.printStackTrace();			System.out.print("连接失败");		}	}	 查询数据 search, Object... obj可变变化的数组长度为0或者任意	// 调用数据查询的通用方法;供dao层的代码调用,search必须有返回值	// sql=(select * from student where id = ? and name =?;) args=??	public ResultSet search(String sql, Object... obj) {		// Object... obj代表0个或多个参数					try {				stmt = dbConn.prepareStatement(sql);				if (obj!=null) {					int len = obj.length;					for (int i = 0; i < len; i++) {						stmt.setObject(i + 1, obj[i]);					}									}				rs = stmt.executeQuery();			} catch (SQLException e) {				// TODO Auto-generated catch block				e.printStackTrace();			} 				return rs;	}	// 增删改通用方法 //insert delete update都是一个方法	public int update(String sql, Object... obj) {		int result = -1;		try {			stmt = dbConn.prepareStatement(sql);						if (obj!=null) {				int len = obj.length;				for (int i = 0; i < len; i++) {					stmt.setObject(i + 1, obj[i]);				}								}			 			result = stmt.executeUpdate(); //		} catch (Exception e) {			// TODO: handle exception		}		return result;	}		public int getAll(String sql) {		int result = -1;		try {			Statement stmt = dbConn.createStatement();			ResultSet rs = stmt.executeQuery(sql);			rs.next();			result = rs.getInt(1);			rs.close();			stmt.close();		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		return result;	}	public void close() {		// 做完后关闭数据库操作		try {			if (rs != null) {				rs.close();				rs = null;			}			if (stmt != null) {				stmt.close();				stmt = null;			}			if (dbConn != null) {				dbConn.close();				dbConn = null;			}		} catch (SQLException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}	// 测试	public static void main(String[] args) {		test db = new test();//		String sql = "update T_applicant set email = ? where id= ?";//		int rs = db.update(sql, new Object[] {"123",1});//		System.out.println(rs); //     统计记录的行数		String sql ="select count(*) from t_student";		System.out.println(db.getAll(sql));//	}}

转载地址:http://bfqzi.baihongyu.com/

你可能感兴趣的文章
表情包数据挖掘 | Mix群聊
查看>>
如何阅读科研论文
查看>>
理解本真的REST架构风格
查看>>
10款免费且开源的项目管理工具
查看>>
java调用javascript :js引擎rhino
查看>>
asp 中常用的文件处理函数
查看>>
ADO中sqlserver存储过程使用
查看>>
Linux KernelTech版FAQ 1.0
查看>>
ntfs分区iis故障的解决
查看>>
个人创业“六大死穴”
查看>>
最重要的 12个 J2EE 最佳实践
查看>>
通过Java Swing看透MVC设计模式
查看>>
Java 理论与实践: 关于异常的争论
查看>>
编写高效的线程安全类
查看>>
提高Java代码可重用性的三个措施
查看>>
编写跨平台Java程序注意事项
查看>>
富人和穷人的12个经典差异
查看>>
java 注意事项[教学]
查看>>
MetaWeblogAPI测试
查看>>
软件配置管理概念-1,介绍
查看>>