dbutils包的使用:

前提是你已经写好连接数据库的代码(也就是BaseDao类的代码),现在的dbutils是写在具体业务的Dao接口实现类的,BaseDao类那边甚至不用写返回结果集的两个方法,简单好多

1、得到QueryRunner对象,利用new QueryRunner();
2、操作:
1、数据库的增删改:用qr.update(this.getCon(),sql,占位符的值,可有可无);
2、数据库的查询多条数据信息:用qr.query(this.getCon(),sql,new BeanListHandler(User.class),占位符的值,可有可无);
3、数据库的查询某一条数据信息:用qr.query(this.getCon(),sql,new BeanHandler(User.class),占位符的值,可有可无);
4、数据库的查数据条数:用qr.query(this.getCon(),sql,new ScalarHadler());

3、真实代码:
1、插入一条数据:
@Override
public int inserUser(User user) {
int num=0;
try {
String sql=“insert into login(luserName,lpwd) values(?,?)”;
num = qr.update(this.getConnection(), sql,user.getLuserName(),user.getLpwd());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

	return num;

}
2、根据id删除一条数据:
@Override
public int deleteUser(int lid) {
int num=0;
try {
String sql=“delete from login where lid=?”;
num = qr.update(this.getConnection(), sql, lid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// TODO Auto-generated method stub
return num;
}
3、查询所有数据:
@Override
public List selectAllList() {
String sql=“select * from login”;
List list=new ArrayList();
try {
//这是核心部分,第三个参数是new BeanListHandler(User.class)
list = qr.query(this.getConnection(), sql, new BeanListHandler(User.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
4、查询一条数据(登录验证用得比较多):
@Override
public User selectByName(String luserName, String lpwd) {
String sql=“select * from login where luserName=? and lpwd=?”;
User user=new User();
try {
//这是核心,第三个参数是new BeanHandler(User.class),第四个参数就是占位符的值
user = qr.query(this.getConnection(), sql, new BeanHandler(User.class), luserName,lpwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

	return user;
}

5、、查询有多少条数据:
@Override
public int selectCountNum() {
String sql=“select count(*) from login”;
String numStr=null;
try {
//这是核心关键,第三个参数是new ScalarHandler()即可,不用参数
Long numLong = qr.query(this.getConnection(), sql, new ScalarHandler());
numStr=numLong.toString();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Integer.parseInt(numStr);
}

需要dbuttils包还有属性文件的可以留言哈,看到会马上回复哒!

猜你喜欢

转载自blog.csdn.net/weixin_42334396/article/details/83306261