JavaWeb学习笔记之数据库连接
2015-09-26 10:02
316 查看
JDBC MySql 数据库连接
公共类 ConnetionFactory 代码如下
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnectionFactoryTest { private final String dbDriver = "com.mysql.jdbc.Driver"; private final String url = "jdbc:mysql://localhost:3306/xmu_cs"; private final String userName = "root"; private final String password ="root"; private ResultSet rs = null; private Statement stmt = null; private Connection conn = null; //创建加载数据库驱动的方法 public ConnectionFactoryTest(){ try { Class.forName(dbDriver).newInstance();//系统自动加载数据库驱动 System.out.println("数据库驱动加载成功!"); } catch (Exception e) { // TODO: handle exception System.out.println("数据库加载失败"); } } //创建数据库连接的方法 public boolean createConnection(){ try { conn = (Connection) DriverManager.getConnection(url, userName, password); conn.setAutoCommit(true); System.out.println("数据库连接成功!"); return true; } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); System.out.println("数据库连接失败!"); return false; } } //创建查询语句的方法 public ResultSet executeQuery(String sql){ try { if(conn == null){ createConnection(); } stmt = conn.createStatement(); try { rs = stmt.executeQuery(sql); return rs; } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); return null; } } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); return null; } } //创建执行更新操作的方法 public boolean executeUpdate(String sql){ if(conn == null){ createConnection(); } try { stmt = conn.createStatement(); stmt.executeUpdate(sql); return true; } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); return false; } } //创建关闭数据库连接的方法 public void closeConnection(){ if(null != rs){ try { rs.close(); System.out.println("结果集关闭成功!"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(null != stmt){ try { stmt.close(); System.out.println("Statement关闭成功!!"); } catch (Exception e) { // TODO: handle exception } } if(null !=conn){ try{ conn.close(); System.out.println("数据库连接关闭成功!"); }catch(SQLException e){ e.printStackTrace(); } } } }
编写jUnit测试类,代码如下:
public class dbConnectionTest { private ResultSet rs = null; private static ConnectionFactoryTest cf = new ConnectionFactoryTest(); @BeforeClass public static void setUpBeforeClass() throws Exception { cf.createConnection(); } @AfterClass public static void tearDownAfterClass() throws Exception { cf.closeConnection(); } @Test public void testQuery() throws SQLException { String sql = "select * from test"; rs = cf.executeQuery(sql); while(rs.next()){ System.out.println("id:"+rs.getString("id")+" | name:"+rs.getString("name")); } } }
结果如下:
数据库驱动加载成功! 数据库连接成功! id:1 | name:test1 id:2 | name:test2 结果集关闭成功! Statement关闭成功!! 数据库连接关闭成功!
相关文章推荐
- test7.20
- JAVA中写时复制(Copy-On-Write)Map实现
- Spring学习篇01-Spring容器相关基本概念
- java界面项目----问题篇
- JVM/JDK/JRE/IDE—区别
- 解决Eclipse新建Android工程出错
- spring mvc 配置web.xml servlet.xml文件配置以及出现异常的解决方案
- java的数字相加
- 第一次编辑JAVA
- JAVA编译中拒绝访问的问题及解决方案
- Java笔记---Java概要
- struts2中文件上传与下载
- Java核心技术第3章(3)
- test7.19
- test7.18
- Java基础知识强化之集合框架笔记02:集合的继承体系图解
- eclipse 制作静态柱状图
- Java环境的配置
- Java基础知识强化之集合框架笔记01:集合的由来与数组的区别
- mybatis逆向工程通过表反向生成java代码