博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 基础链接数据库
阅读量:5364 次
发布时间:2019-06-15

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

使用java链接本地的数据库并插入数据

使用类方法安静的关闭数据流

另外如果仅仅用了try/catch语句,这里是有很大的隐患的。在程序创建连接之后,如果不进行关闭,会消耗更多的资源。创建连接之后的代码挂掉了,后面的try/catch很难保证代码被执行,所以应该在finally里面进行对资源的关闭

package abc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;//import java.sql.PreparedStatement;import java.sql.SQLException;public class main{	public static void main(String[] args)	{		 try		 {		    /*		 	  *链接数据库		 	  */			 Class.forName("com.mysql.jdbc.Driver");		} 		catch (ClassNotFoundException e)		{			// TODO 自动生成的 catch 块			System.out.println("mysql的 jdbc的驱动加载失败"+e.getMessage());		    return ;		}//加载了JDBC的驱动		//检查异常,非检查异常				Connection conn= null;		PreparedStatement stmt =null;				//DriverManager		 try		{		  conn=DriverManager.getConnection("jdbc:mysql://localhost/study1?seUnicode=true&characterEncoding=UTF-8","root","root");		   System.out.println(conn.getClass());	      //prepareStatement 准备执行,返回他的对象		 stmt=conn.prepareStatement("insert into t_person(Name,Age,Gender) value('傻逼',19,1)");	      //   stmt.executeUpdate();	      int i=stmt.executeUpdate();			 		   System.out.println("执行成功 影响了"+i+"条数据");		       /*		   	 * 资源并没有被回收		   	 * 一直连着不放 会一直链接 被卡死		   	 * 		   	 */		   					} 		 catch (SQLException e)		{			// TODO 自动生成的 catch 块			System.out.println("链接mysql失败"+e.getMessage());		}	//	 System.out.println("链接成功");		 finally		 {						JDBCGB.closeQuiety(conn);		                JDBCGB.closeQuiety(stmt);			 		 }			 /*				 if(stmt!=null)				 {				 try				{					stmt.close();				}				 				 catch (SQLException e)				{				//System.out.println("无法关闭数据流");				}				 }				 if(conn!=null)				 {				 try				{					conn.close();				} 				 catch (SQLException e)				{					// TODO 自动生成的 catch 块				//	e.printStackTrace();				}		 			 }*/		}	}

  

 

package abc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;//安静的关闭public class JDBCGB{	public static void closeQuiety(PreparedStatement stmt)	{		if(stmt!=null)		{			 try			{				stmt.close();			}			 			 catch (SQLException e)			{			//System.out.println("无法关闭数据流");			}			 }			 		} public static void closeQuiety(Connection conn)	 { 	 if(conn!=null)	 {	 try	{		conn.close();	} 	 catch (SQLException e)	{		// TODO 自动生成的 catch 块	//	e.printStackTrace();	}	 }			 }			}

  

 

转载于:https://www.cnblogs.com/a986771570/p/7149851.html

你可能感兴趣的文章
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>
字母和数字键的键码值(keyCode)
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
01_1_准备ibatis环境
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
jmeter(五)创建web测试计划
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>