一、核心类QueryRunner
现阶段所有对数据库的操作(基本的增删改查操作)都可以由QueryRunner类实现,通过创建QueryRunner对象可以操作类中的成员方法{update()方法(增删改)与query()方法(查)};
二、方法详解
QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());//参数为数据源对象
2.1增
public int insertGoods(Goods goods) throws SQLException { String sql = "INSERT INTO goods(NAME,price) VALUES (?,?);"; int result = qr.update(sql,goods.getName(),goods.getPrice()); return result; } //第一个参数为sql语句,之后为可变参数,为所需插入的值
2.2删
public int deleteGoods(int id) throws SQLException { String sql = "DELETE FROM goods WHERE id = ?;"; int result = qr.update(sql,id); return result; } //第一个参数为sql语句,之后为条件筛选值
2.3改
public int updateGoods(double price,int id) throws SQLException { String sql = "UPDATE goods SET price = ? WHERE id = ?;"; int result = qr.update(sql,price,id); return result; } //第一个参数为sql语句,之后为需要更新的列属性名,再接条件筛选值
2.4查
2.4.1查询一行
public Goods selectGoods(int id) throws SQLException { String sql = "SELECT * FROM goods WHERE id = ?;"; ResultSetHandler<Goods> goodSet = new BeanHandler<Goods>(Goods.class); Goods goods = qr.query(sql,goodSet,id); return goods; } //query()方法第一个参数为sql语句,第二个为ResultSetHandler<Goods>对象,最后为条件筛选值
ResultSetHandler(是一个接口,主要是完成ORM映射,把结果街转化成我们需要的java对象)
*BenaHandler //把单行结果集的数据封装成javaBean对象,返回值是ResultSetHandler ResultSetHandler <javaBean类型> rsh = new BeanHandler<javaBean类型>(javaBean.class); 本方法多用于在 处理把单行结果集封装成JavaBean对象。(对象通过反射完成创建)
2.4.2查询多行
public List<Map<String,Object>> selectGoods() throws SQLException { String sql = "SELECT * FROM goods"; List<Map<String,Object>> mapList = qr.query(sql,new MapListHandler()); return mapList; }
*MapListHandler List<Map<String,Object>> listmap = new MapListHandler();
本方法是用来多行结果集的处理,把每行的结果封装成一个map,最后把所有的map都放在一个集合中 返回值是一个集合,但是集合中存放的是map,
————————————————
版权声明:本文为CSDN博主「大尾巴战狼」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dawiebazhanlang/article/details/80320996