欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

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

来源: javaer 分享于  点击 45434 次 点评:263

连接数据库,并进行增删改查操作,数据库增删,写一个封装的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<People> list = new ArrayList<People>();  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
相关栏目:

用户点评