java连接数据库增删改查公共方法,连接数据库,并进行增删改查操作,数据库增删,写一个封装的java连接...

连接数据库,并进行增删改查操作,数据库增删,写一个封装的java连接

写一个封装的java连接数据库类ConnectionDB,包括加载驱动,建立连接,操作数据库,关闭连接等,这个类对外只暴露两个接口,一个select,一个update。另写一个测试类,通过调用ConnectionDB的查询和更新方法,完成对数据库的操作。

标签: package com.iflytek.test;import java.sql.*;/** * 连接数据库类 * @author Administrator * */public class ConnectionDB { /** * 驱动包 */ private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /** * 数据库地址 */ private final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=Test"; /** * 用户名 */ private final String USER = "sa"; /** * 密码 */ private final String PASSWORD = "0"; /** * 数据库连接 */ Connection conn; /** * SQL命令 */ Statement stmt; /** * 结果集 */ ResultSet rs; /** * 加载数据库驱动 */ static{ try { //加载驱动 Class.forName(DRIVER); } catch (Exception e) { e.printStackTrace(); System.out.println("加载驱动失败"); } } /** * 取得和数据库的连接 * @return Connection */ private Connection getConnection() { try { conn = DriverManager.getConnection(URL, USER, PASSWORD); return conn; } catch (Exception e) { e.printStackTrace(); System.out.println("连接数据库失败"); } return null; } /** * 通过查询语句取得结果集 * @param sql SQL语句 * @return ResultSet */ public ResultSet getDateByQuery(String sql) { try { stmt = this.getConnection().createStatement(); rs = stmt.executeQuery(sql); return rs; } catch (Exception e) { e.printStackTrace(); System.out.println("数据库查询出错"); } return null; } /** * 数据库插入、删除、更新操作 * @param sql SQL语句 * @return 影响的行数 */ public int update(String sql) { try { stmt = this.getConnection().createStatement(); int line = stmt.executeUpdate(sql); return line; } catch (Exception e) { e.printStackTrace(); System.out.println("数据库更新出错"); } return 0; } /** * 关闭数据库连接 */ public void close() { try { if(rs != null){ rs.close(); } if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (Exception e) { e.printStackTrace(); System.out.println("关闭连接出错"); System.exit(0); } }}package com.iflytek.test;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;public class TestConnectionDB { /** * 测试数据库连接类 * @param args */ public static void main(String[] args) { /** * 通过简单连接测试TestConnectionDB */ Method1(); /** * 通过先封装再连接的方式测试ConnectionDB */ Method2(); } private static void Method1() { //创建一个数据库连接对象 ConnectionDB connDB = new ConnectionDB(); try { //SQL语句 String sql = "select name from People where id=3"; //取得结果集 ResultSet rs = connDB.getDateByQuery(sql); while(rs.next()){ System.out.println(rs.getString("name")); } } catch (Exception e) { e.printStackTrace(); System.out.println("什么情况?"); } //关闭连接 connDB.close(); } private static void Method2() { //创建一个数据库连接对象 ConnectionDB connDB = new ConnectionDB(); //创建一个数组列表对象list List list = new ArrayList(); try { //SQL语句 String sql2 = "select id,name,age from People"; //取得结果集 ResultSet rs = connDB.getDateByQuery(sql2); //遍历ResultSet while(rs.next()){ //创建一个People对象并实例化 People ple = new People(); ple.setId(rs.getInt(1)); ple.setName(rs.getString("name")); ple.setAge(rs.getInt(3)); //将当前People对象放入list中 list.add(ple); } } catch (Exception e) { e.printStackTrace(); } //用增强for循环打印结果 for (People people : list) { System.out.println(people.toString()); } }}//该片段来自于http://byrx.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值