摘要: 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,极大的浪费数据库的资源 数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个 编写连接池需实现java.sql.DataSource接口。DataSource接口中定 阅读全文
posted @ 2016-03-22 10:55 Hsinwang 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 第一范式:确保每列的原子性. 如果每列(或者每个属性)都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式. 例如:顾客表(姓名、编号、地址、……)其中"地址"列还可以细分为国家、省、市、区等。第二范式:在第一范式的基础上更进一层,目标是确保表中的每列都和主键相关. 如果一个关系满足第 阅读全文
posted @ 2016-03-22 10:45 Hsinwang 阅读(244) 评论(0) 推荐(1) 编辑
摘要: 无论有没有发生异常,finally总会在这个异常处理结构的最后运行。即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。如关闭数据库连接等等。 try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行 阅读全文
posted @ 2016-03-22 10:20 Hsinwang 阅读(117) 评论(0) 推荐(0) 编辑
摘要: replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); replaceAll的参数是regex,即基于规则表达式的替换,比如:可以通过replaceAll("\\d", "*")把一个字符 阅读全文
posted @ 2016-03-22 10:12 Hsinwang 阅读(182) 评论(0) 推荐(0) 编辑