DbUtils的简单使用范例
发布时间:2020-05-24 22:15:55 所属栏目:Java 来源:互联网
导读:DbUtils的简单使用范例
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 DButils是Apache的一个开源数据库访问框架import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class UserDaoImpl implements UserDao {
public DataSource getDataSource(){
String url = "jdbc:mysql://127.0.0.1:3306/testdbutils";
MysqlDataSource ds = new MysqlDataSource();
ds.setServerName("127.0.0.1");
// ds.setDatabaseName("testdbutils");
ds.setURL(url);
ds.setUser("root");
ds.setPassword("123456");
ds.setCharacterEncoding("utf8");
return ds;
}
public BeanListHandler<User> getBeanListHandler(){
return new BeanListHandler<User>(User.class);
}
public BeanHandler<User> getBeanHandler(){
return new BeanHandler<User>(User.class);
}
public void delete(int id) {
QueryRunner runner = new QueryRunner(getDataSource());
try {
int affectedRows = runner.update("delete from user where id = ?",id);
System.out.println("删除成功,影响的行数:"+affectedRows);
} catch (SQLException e) {
System.out.println("删除id为"+id+"的记录失败。错误为:"+e.getMessage());
}
}
public void delete(User user) {
delete(user.getId());
}
public List<User> getAllUsers() {
QueryRunner runner = new QueryRunner(getDataSource());
try {
return runner.query("select * from user",getBeanListHandler());
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public User getById(int id) {
QueryRunner runner = new QueryRunner(getDataSource());
User user = null;
try {
user = runner.query("select * from user where id = ?",getBeanHandler(),id);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
public void save(User user) {
QueryRunner runner = new QueryRunner(getDataSource());
try {
runner.update("insert into user values(?,?,?)",new Object[]{
user.getId(),user.getName(),user.getAge(),user.getSex(),user.getBirth()
});
} catch (SQLException e) {
System.out.println("插入失败,失败原因:"+e.getMessage());
}
}
public long getCount() {
QueryRunner runner = new QueryRunner(getDataSource());
try {
Long count = runner.query("select count(*) as count from user",new ResultSetHandler<Long>(){
public Long handle(ResultSet rs) throws SQLException {
if(rs.next()){
return rs.getLong(1); //或者rs.getLong("count");
}
return 0L;
}
});
//或者用ScalarHandler,这里的new ScalarHandler() 可以加上“count”参数
// Long count = (Long)runner.query("select count(*) as count from user",new ScalarHandler(){
//
// @Override
// public Object handle(ResultSet rs) throws SQLException {
// return super.handle(rs);
// }
//
// });
return (Long)count;
} catch (SQLException e) {
e.printStackTrace();
return 0L;
}
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java图形验证码生成工具类 web页面校验验证码
- volatile中的volatile成员函数与常量成员函数
- Pyspark:异常:Java网关进程在发送驱动程序的端口号之前退
- java – Guava集合:限制排列大小
- java.lang.IllegalStateException:BindingResult和bean名称
- springboot集成mybatis实例代码
- 使用Java将SOAP消息格式转换为Socket消息格式转换,反之亦然
- Android实现微信自动抢红包的程序
- java – 你可以编程访问当前的Heroku dyno id / name?
- java – Spring REST安全性 – 以不同方式保护不同的URL
