diff --git a/testJDBC/JDBCDemo2/src/com/msb/dao/BaseDao.java b/testJDBC/JDBCDemo2/src/com/msb/dao/BaseDao.java index b4f42f9..50d59a8 100644 --- a/testJDBC/JDBCDemo2/src/com/msb/dao/BaseDao.java +++ b/testJDBC/JDBCDemo2/src/com/msb/dao/BaseDao.java @@ -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 findAll() { - Connection connection = null; - - List 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 diff --git a/testJDBC/JDBCDemo2/src/com/msb/dao/imp/EmpDaoImp.java b/testJDBC/JDBCDemo2/src/com/msb/dao/imp/EmpDaoImp.java index c9a09c8..c2b9e8e 100644 --- a/testJDBC/JDBCDemo2/src/com/msb/dao/imp/EmpDaoImp.java +++ b/testJDBC/JDBCDemo2/src/com/msb/dao/imp/EmpDaoImp.java @@ -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 findAll() { - Connection connection = null; - - List 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()); } }