抽取basedao类

master
丁业林-17050417 3 years ago
parent 5634c56f9a
commit fced6a0cdc

@ -1,18 +1,26 @@
package com.msb.dao;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public abstract class BaseDao {
public List baseQuery(Connection connection, Class clazz, String sql, Object ... args) {
public static String driver = "com.mysql.cj.jdbc.Driver";
public static String url = "jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
public static String user = "root";
public static String password = "Fnst1234";
public List baseQuery(Class clazz, String sql, Object ... args) {
Connection connection = null;
List list = new ArrayList();
PreparedStatement statement = null;
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, user, password);
statement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
statement.setObject(i + 1, args[i]);
@ -38,15 +46,31 @@ public abstract class BaseDao {
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
public int baseUpdate(Connection connection, String sql,Object ... args){
public int baseUpdate(String sql,Object ... args) {
Connection connection = null;
PreparedStatement preparedStatement=null;
int rows=0;
try{
// 选择数据库
Class.forName(driver);
// 建立连接
connection = DriverManager.getConnection(url, user, password);
preparedStatement = connection.prepareStatement(sql);
//设置参数
for (int i = 0; i <args.length ; i++) {
@ -65,6 +89,15 @@ public abstract class BaseDao {
e.printStackTrace();
}
}
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return rows;
}

@ -4,48 +4,13 @@ import com.msb.bean.Dept;
import com.msb.dao.BaseDao;
import com.msb.dao.DeptDao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class DeptDaoImp extends BaseDao implements DeptDao {
public static String driver = "com.mysql.cj.jdbc.Driver";
public static String url = "jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
public static String user = "root";
public static String password = "Fnst1234";
@Override
public List<Dept> findAll() {
Connection connection = null;
List<Dept> list =null;
try {
// 选择数据库
Class.forName(driver);
// 建立连接
connection = DriverManager.getConnection(url, user, password);
// 执行sql
String sql = "select * from dept";
list = baseQuery(connection, Dept.class, sql);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return list;
String sql = "select * from dept";
return baseQuery(Dept.class, sql);
}
@Override

@ -4,81 +4,19 @@ import com.msb.bean.Emp;
import com.msb.dao.BaseDao;
import com.msb.dao.EmpDao;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class EmpDaoImp extends BaseDao implements EmpDao {
public static String driver = "com.mysql.cj.jdbc.Driver";
public static String url = "jdbc:mysql://127.0.0.1:3306/mydb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
public static String user = "root";
public static String password = "Fnst1234";
@Override
public List<Emp> findAll() {
Connection connection = null;
List<Emp> list =null;
try {
// 选择数据库
Class.forName(driver);
// 建立连接
connection = DriverManager.getConnection(url, user, password);
// 执行sql
String sql = "select * from emp";
list = baseQuery(connection, Emp.class, sql);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return list;
String sql = "select * from emp";
return baseQuery(Emp.class, sql);
}
@Override
public int deleteByEmpno(int empno) {
Connection connection = null;
int rows = 0;
try {
// 选择数据库
Class.forName(driver);
// 建立连接
connection = DriverManager.getConnection(url, user, password);
// 执行sql
String sql = "delete from emp where empno = ?";
rows = baseUpdate(connection, sql, empno);
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return rows;
String sql = "delete from emp where empno = ?";
return baseUpdate(sql, empno);
}
@Override
@ -88,34 +26,7 @@ public class EmpDaoImp extends BaseDao implements EmpDao {
@Override
public int addEmp(Emp emp) {
Connection connection = null;
int rows = 0;
try {
// 选择数据库
Class.forName(driver);
// 建立连接
connection = DriverManager.getConnection(url, user, password);
// 执行sql
String sql = "insert into emp values(?,?,?,?,?,?,?,?)";
rows = baseUpdate(connection, sql, emp.getEmpno(), emp.getEname(), emp.getJob(),emp.getMgr(),emp.getHiredate(),emp.getSal(),emp.getComm(),emp.getDeptno());
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try {
if (connection != null) {
connection.close();
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
return rows;
String sql = "insert into emp values(?,?,?,?,?,?,?,?)";
return baseUpdate(sql, emp.getEmpno(), emp.getEname(), emp.getJob(),emp.getMgr(),emp.getHiredate(),emp.getSal(),emp.getComm(),emp.getDeptno());
}
}

Loading…
Cancel
Save