浏览 5348 次
锁定老帖子 主题:DbUtil操作数据库的工具
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-15
最后修改:2010-07-15
操作数据库的强大工具: http://commons.apache.org/dbutils/examples.html dbutils:这个网站有操作数据库更简洁的实例,,比加说增加,修改,查询,删除. 用它实例里的方法可以省去我们以前用的预编译.例如增加这个功能: Example:QueryRunner run = new QueryRunner( dataSource ); try { Object[] insertParams = {"John Doe", new Double( 1.82 )} ; int inserts = run.update( "INSERT INTO Person (name,height) VALUES (?,?)",insertParams ); Object[] updateParams = {new Double( 2.05 ), "John Doe"} ; int updates = run.update( "UPDATE Person SET height=? WHERE name=?", updateParams ); } catch(SQLException sqle) { System.out.println(“”sqle); } DbUtils 关闭链接等操作 QueryRunner 进行查询的操作 rg.apache.commons.dbutils.handlers ArrayHandler :将ResultSet中第一行的数据转化成对象数组 ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是Object[] BeanHandler :将ResultSet中第一行的数据转化成类对象 BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象 ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是Object对象 KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map。Map中存放的是数据 MapHandler :将ResultSet中第一行的数据存成Map映射 MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object 代码规范: 1. servlet和身在循环,不能放sql语句. 2. 如果在区分临时的变量,就在后面加TMP. 3. 做主键的列没有任何业务逻辑,没有任何实际意义,而且任何时候都不能修改。 4. 提交代码前如果有TODO标签,要删除掉,如果要标记没有做完的任务或者以后要改进的任务,用LXTODO. 5. id一般不用int类型,用long类型 6. PreparedStatement 最好不要声明为类字段. 7. 两个不同的包不能出现相同的文件名 8. 类字段 初始化不能调用别的函数有可能你调用的那个函数又调用这个类,会造成死循环 9>:如果要用到接口里的常量,不要用实现,直接用接口/类名.常量名, 也就是组合优先大于继承与实现,所谓的组合是直接引用. 10>:如果在一个类里,这个变量及方法,被多次使用,就把它抽取到父类里. 11>:QueryRunner不要做全局声明. 12>:如果有很多的DAO的增,删,查,改,就建一个BaseDAO抽象类,它里面写 出增,删,查,改的抽象方法,这样不管是学生的,老师的增,删,查,改.你只要继承这个类. 然后重写就行了,这样就更统一管理了. PMD是一个代码检查工具,用于检查Java源代码,以便发现如下的潜在问题: 1.潜在的bug:空的try/catch/finally/switch语句 2.未使用的代码:未使用的局部变量、参数、私有方法等 3.可选的代码:String/StringBuffer的滥用 4.复杂的表达式:不必须的if语句、可以使用while循环完成的for循环 5.重复的代码:拷贝/粘贴代码意味着拷贝/粘贴bugs 收获:学到这用DbUtil做增,删,查,改,还有学会了写测试类,及用PDM 插件来规范自己的代码. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-16
DbUtil+assert.单元测试的利器.
|
|
返回顶楼 | |
发表时间:2010-07-16
codermouse 写道 DbUtil+assert.单元测试的利器.
你搞错了吧,不是DBunit |
|
返回顶楼 | |
发表时间:2010-07-17
还真没怎么用过,看来还得多尝试
|
|
返回顶楼 | |
发表时间:2010-07-17
用过蛮好用的..
|
|
返回顶楼 | |