本文共 1612 字,大约阅读时间需要 5 分钟。
jar包:
commons-dbutils---- QueryRunner 和 ResultSetHandler(又含Beanhandler和BeanListHandler)DAO
public class DAO { private QueryRunner queryRunner; public DAO(){ queryRunner=new QueryRunner(); } public int update(Connection connection, String sql, Object... objects) throws SQLException { return queryRunner.update(connection, sql, objects); } public User fetchLogin(Connection connection,String sql,Object... objects) throws SQLException { User m=null; m=queryRunner.query(connection, sql, new BeanHandler<>(User.class), objects); return m; } public ListfetchUserList(Connection connection,String sql,Object... objects) throws SQLException { List m; m=queryRunner.query(connection, sql, new BeanListHandler<>(User.class),objects);//objects用于传参 return m; }}
Ps:
在DAO中
update的返回值即数据库受影响行数
query返回的是结果集
例:(有get和set方法)
public class User { private String name=null; private String password=null; public User() { } public User(String n,String p) { name=n; password=p; } public String getName() { return name; } public String getPassword() { return password; } public void setName(String name) { this.name = name; } public void setPassword(String password) { this.password = password; }}
sql 传参
(doit 即DAO对象)
Connection connection=cpds.getConnection(); String sql = "INSERT INTO first.member (name,password) VALUES (?,?)"; Object[] objs = { member.getName(), member.getPassword()}; int n=doit.update(connection, sql, objs); connection.close();
Ps:
objs 中的类型得要是String因为objs的作用是填充sql语句中的?
所以必须得是String类型
转载地址:http://iaiyb.baihongyu.com/