Druid的crud操作

Druid工具

需要的jar包	
1.`druid-1.1.22`
链接: [获取地址](https://pan.baidu.com/s/1FEKMSDHYagOwdNAwcO_uew)
提取码: jc7b

1. 导入jar包

将jar包Ctrl+c,Ctrl+v到lib文件夹中

2. 将jar包添加到项目中

	![在这里插入图片描述](https://img-blog.csdnimg.cn/20200917101740531.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTk1MjgwNQ==,size_16,color_FFFFFF,t_70#pic_center)

3. BaseDao增删改查代码的实现

1.insert/delete/update

	/*
    update:
    	insert/delete/update
     */
    public int update(String sql,Object...args){
        try {
        	for (Object object : args) {
				System.out.println(object);
			}
            return (queryRunner.update(conn, sql, args));
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
        	try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
        return -1;
    }

2.单表查询一列数据

public <T> T queryForOne(Class<T> clazz,String sql,Object... args){
        try {
        	return queryRunner.query(conn, sql, new BeanHandler<T>(clazz), args);
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
        	try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
        return null;
    }

3.单表查询多条数据

public <T> List<T> queryForList(Class<T> clazz,String sql,Object... args){
        try {
            return queryRunner.query(conn,sql,new BeanListHandler<T>(clazz),args);
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
        	try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
        return null;
    }

4.多表连接查询

public List<Map<String,Object>> ManyTableQuery(String sql,MapListHandler mHandler){
    	try {
			return queryRunner.query(conn, sql, mHandler);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
        	try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
		return null;
    }

5.查询一行一列数据

public Object queryForStringValue(String sql,Object... args){
        try {
            return queryRunner.query(conn,sql,new ScalarHandler(),args);
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
        	try {
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }
        return null;
    }

Student实体类

package com.model;

public class Student {
	
	private Integer sid;
	
	private String sname;
	
	private Integer sex;
	
	private Integer sage;
	
	private String sids;
	
	private String sbirthday;
	
	private String sremark;
	
	private Integer eid;
	private Emp emp;
	public Student() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	
	public Student(Integer sid, String sname, Integer sex, Integer sage, String sids, String sbirthday, String sremark,
			Integer eid, Emp emp) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.sex = sex;
		this.sage = sage;
		this.sids = sids;
		this.sbirthday = sbirthday;
		this.sremark = sremark;
		this.eid = eid;
		this.emp = emp;
	}


	public Integer getEid() {
		return eid;
	}


	public void setEid(Integer eid) {
		this.eid = eid;
	}


	@Override
	public String toString() {
		return "Student [sid=" + sid + ", sname=" + sname + ", sex=" + sex + ", sage=" + sage + ", sids=" + sids
				+ ", sbirthday=" + sbirthday + ", sremark=" + sremark + ", eid=" + eid + ", emp=" + emp + "]";
	}


	public Integer getSid() {
		return sid;
	}
	public void setSid(Integer sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public Integer getSex() {
		return sex;
	}
	public void setSex(Integer sex) {
		this.sex = sex;
	}
	public Integer getSage() {
		return sage;
	}
	public void setSage(Integer sage) {
		this.sage = sage;
	}
	public String getSids() {
		return sids;
	}
	public void setSids(String sids) {
		this.sids = sids;
	}
	public String getSbirthday() {
		return sbirthday;
	}
	public void setSbirthday(String sbirthday) {
		this.sbirthday = sbirthday;
	}
	public String getSremark() {
		return sremark;
	}
	public void setSremark(String sremark) {
		this.sremark = sremark;
	}
	public Emp getEmp() {
		return emp;
	}
	public void setEmp(Emp emp) {
		this.emp = emp;
	}
	
	
}

StudentDao接口

package com.dao;

import java.util.List;
import java.util.Map;

import com.model.Student;

public interface StudentDao {
	List<Map<String,Object>> findAll();

	Student findByid(Integer id);

	int insert(Student entity);

	int update(Student entity);

	int delete(Integer id);
}

StudentDaoImpl类

package com.dao.impl;

import java.util.List;
import java.util.Map;

import org.apache.commons.dbutils.handlers.MapListHandler;

import com.dao.BaseDao;
import com.dao.StudentDao;
import com.model.Student;

public class StudentDaoImpl extends BaseDao implements StudentDao{
	@Override
	public Student findByid(Integer id) {
		String sql = "select * from student where sid = ?";
		return queryForOne(Student.class, sql, id);
	}

	@Override
	public int insert(Student entity) {
		String sql = "INSERT INTO student(sname, sex, sage, sids, sbirthday, sremark, eid) VALUES (?, ?, ?, ?, ?, ?, ?);";
		return update(sql, entity.getSname(),entity.getSex(),entity.getSage(),entity.getSids(),entity.getSbirthday(),entity.getSremark(),entity.getEid());
	}

	@Override
	public int update(Student entity) {
		String sql = "UPDATE student SET sname = ?, sex = ?, sage = ?, sids = ?, sbirthday = ?, sremark = ?, eid = ? WHERE sid = ?";
		return update(sql, entity.getSname(),entity.getSex(),entity.getSage(),entity.getSids(),entity.getSbirthday(),entity.getSremark(),entity.getEid(),entity.getSid());
	}

	@Override
	public int delete(Integer id) {
		String sql = "delete from student where sid = ?";
		return update(sql, id);
	}

	@Override
	public List<Map<String,Object>> findAll() {
		String sql = "SELECT s.*,e.ename ename,e.eremark eremark from  student s LEFT JOIN emp e on s.eid=e.eid";
		List<Map<String,Object>> manyTableQuery = ManyTableQuery(sql, new MapListHandler());
		return manyTableQuery;
	}
	public static void main(String[] args) {
		StudentDaoImpl stud = new StudentDaoImpl();
		List<Map<String, Object>> findAll = stud.findAll();
		findAll.forEach(System.out::println);
	}
}


测试类

package com.Test;

import java.util.List;
import java.util.Map;

import com.dao.impl.StudentDaoImpl;

public class EmpTest {
public static void main(String[] args) {
	StudentDaoImpl e = new StudentDaoImpl();
	List<Map<String, Object>> findAll = e.findAll();
	System.out.println(findAll);
}
}

测试结果

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值