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);
}
}