dao层
- ImsDepartmentDAO 接口
package com.codingfuture.dao;
import com.codingfuture.entity.ImsDepartment;
import java.util.List;
/**
* 部门接口
* @author wxy
*/
public interface ImsDepartmentDAO {
/**
* 以下是添加部门
* @param imsDepartment
* @return int
*/
public int insertImsDepartment(ImsDepartment imsDepartment);
/**
* 以下是删除部门
* @return int
*/
public int deleteImsDepartment(ImsDepartment imsDepartment);
/**
* 以下是更新部门
* @param imsDepartment
* @return int
*/
public int updateImsDepartment(ImsDepartment imsDepartment);
/**
* 以下是查找所有部门
* @return imsDepartment
*/
public List<ImsDepartment> findAll();
}
- ImsEmployeeDAO 接口
package com.codingfuture.dao;
import com.codingfuture.entity.ImsEmployee;
import java.util.List;
/**
* 员工接口
* @author xiang
*/
public interface ImsEmployeeDAO {
/**
* 以下是添加部门
* @return int
*/
public int insertImsEmployee(ImsEmployee imsEmployee);
/**
* 以下是删除部门
* @return int
*/
public int deleteImsEmployee(ImsEmployee imsEmployee);
/**
* 以下是更新部门
* @return int
*/
public int updateImsEmployee(ImsEmployee imsEmployee);
/**
* 以下是查找所有部门
* @return findAll
*/
public List<ImsEmployee> findAll();
/**
* 以下是查找所有部门is_delete=1 & 0
* @return findAll
*/
public List<ImsEmployee> searchAll();
}
- ImsSalaryDAO
package com.codingfuture.dao;
import com.codingfuture.dto.ImsEmpSalaryDto;
import com.codingfuture.entity.ImsEmployee;
import com.codingfuture.entity.ImsSalary;
import java.util.List;
/**
* 薪资接口
* @author xiang
*/
public interface ImsSalaryDAO {
/**
* 添加薪资
* @return int
*/
public int insertImsSalary(ImsSalary imsSalary);
/**
* 删除薪资
* @return int
*/
public int deleteImsSalary(ImsEmployee imsEmployee,String dateString);
/**
* 更新薪资
* @return int
*/
public int updateImsSalary(ImsEmpSalaryDto imsEmpSalary);
/**
* 通过查找某个员工的薪资
* @return List
*/
public List<ImsEmpSalaryDto> findSalaryById(ImsEmpSalaryDto imsEmpSalary);
/**
* 通过日期查找员工的薪资
* @return findAll
*/
public List<ImsEmpSalaryDto> findImsSalaryByTime(ImsEmpSalaryDto imsEmpSalary);
/**
* 查询所有薪资
* @return findAll
*/
public List<ImsEmpSalaryDto> findImsSalaryAll();
}
- ImsDepartmentDAOImpl 实现类
package com.codingfuture.dao.impl;
import com.codingfuture.dao.ImsDepartmentDAO;
import com.codingfuture.entity.ImsDepartment;
import com.codingfuture.utils.JdbcUtil;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
/**
* 以下是部门接口实现类
* @author xiang
*/
public class ImsDepartmentDAOImpl implements ImsDepartmentDAO {
@Override
public int insertImsDepartment(ImsDepartment imsDepartment) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "INSERT INTO ims_department (dpt_id,dpt_name,create_time,update_time,is_deleted)VALUES (?,?,?,?,0)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsDepartment.getDptId());
statement.setString(2,imsDepartment.getDptName());
statement.setObject(3,imsDepartment.getCreateTime());
statement.setObject(4,imsDepartment.getUpdateTime());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return -1;
}
@Override
public int deleteImsDepartment(ImsDepartment imsDepartment) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_department SET is_deleted=1 WHERE dpt_id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsDepartment.getDptId());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return -1;
}
@Override
public int updateImsDepartment(ImsDepartment imsDepartment) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_department SET dpt_name=?,update_time=? WHERE dpt_id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsDepartment.getDptName());
statement.setObject(2,imsDepartment.getUpdateTime());
statement.setString(3,imsDepartment.getDptId());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return 0;
}
@Override
public List<ImsDepartment> findAll() {
ArrayList<ImsDepartment> list = new ArrayList<>();
try(Connection connection = JdbcUtil.getConnection()){
String sql = "SELECT dpt_id,dpt_name FROM ims_department WHERE is_deleted=0";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()){
ImsDepartment imsDepartment = new ImsDepartment();
imsDepartment.setDptId(resultSet.getString("dpt_id"));
imsDepartment.setDptName(resultSet.getString("dpt_name"));
list.add(imsDepartment);
}
return list;
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return null;
}
}
- ImsEmployeeDAOImpl 实现类
package com.codingfuture.dao.impl;
import com.codingfuture.dao.ImsEmployeeDAO;
import com.codingfuture.entity.ImsEmployee;
import com.codingfuture.utils.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* 以下是员工接口实现类
* @author xiang
*/
public class ImsEmployeeDAOImpl implements ImsEmployeeDAO {
@Override
public int insertImsEmployee(ImsEmployee imsEmployee) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "INSERT INTO ims_employee (emp_id,dpt_id,emp_name,emp_code,emp_sex,dpt_name,create_time,update_time,is_deleted)VALUES (?,?,?,?,?,?,?,?,0)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmployee.getEmpId());
statement.setString(2,imsEmployee.getDptId());
statement.setString(3,imsEmployee.getEmpName());
statement.setString(4,imsEmployee.getEmpCode());
statement.setString(5,imsEmployee.getEmpSex());
statement.setString(6,imsEmployee.getDptName());
statement.setObject(7,imsEmployee.getCreateTime());
statement.setObject(8,imsEmployee.getUpdateTime());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return -1;
}
@Override
public int deleteImsEmployee(ImsEmployee imsEmployee) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_employee SET is_deleted = 1 WHERE emp_id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmployee.getEmpId());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return 0;
}
@Override
public int updateImsEmployee(ImsEmployee imsEmployee) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_employee SET emp_name=? , emp_sex =?,update_time=? WHERE emp_id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmployee.getEmpName());
statement.setString(2,imsEmployee.getEmpSex());
statement.setObject(3,imsEmployee.getUpdateTime());
statement.setString(4,imsEmployee.getEmpId());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return 1;
}
@Override
public List<ImsEmployee> findAll() {
ArrayList<ImsEmployee> list = new ArrayList<>();
try(Connection connection = JdbcUtil.getConnection()){
String sql = "SELECT emp_id, emp_name,emp_sex,emp_code,dpt_name FROM ims_employee WHERE is_deleted=0";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()){
ImsEmployee imsEmployee = new ImsEmployee();
imsEmployee.setEmpId(resultSet.getString("emp_id"));
imsEmployee.setEmpSex(resultSet.getString("emp_sex"));
imsEmployee.setEmpName(resultSet.getString("emp_name"));
imsEmployee.setDptName(resultSet.getString("dpt_name"));
imsEmployee.setEmpCode(resultSet.getString("emp_code"));
list.add(imsEmployee);
}
return list;
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return null;
}
@Override
public List<ImsEmployee> searchAll() {
ArrayList<ImsEmployee> list = new ArrayList<>();
try(Connection connection = JdbcUtil.getConnection()){
String sql = "SELECT emp_id, emp_name,emp_sex,emp_code,dpt_name FROM ims_employee";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()){
ImsEmployee imsEmployee = new ImsEmployee();
imsEmployee.setEmpId(resultSet.getString("emp_id"));
imsEmployee.setEmpSex(resultSet.getString("emp_sex"));
imsEmployee.setEmpName(resultSet.getString("emp_name"));
imsEmployee.setDptName(resultSet.getString("dpt_name"));
imsEmployee.setEmpCode(resultSet.getString("emp_code"));
list.add(imsEmployee);
}
return list;
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return null;
}
}
- ImsSalaryDAOImpl 实现类
package com.codingfuture.dao.impl;
import com.codingfuture.dao.ImsSalaryDAO;
import com.codingfuture.dto.ImsEmpSalaryDto;
import com.codingfuture.entity.ImsEmployee;
import com.codingfuture.entity.ImsSalary;
import com.codingfuture.utils.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* 以下是薪资接口实现类
* @author xiang
*/
public class ImsSalaryDAOImpl implements ImsSalaryDAO {
@Override
public int insertImsSalary(ImsSalary imsSalary) {
try (Connection connection = JdbcUtil.getConnection()) {
String sql = "INSERT INTO ims_salary (sa_id,emp_id,sa_date,sa_base,sa_performance,sa_insurance,sa_actual,create_time,update_time,is_deleted)VALUES (?,?,?,?,?,?,?,?,?,0)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, imsSalary.getSaId());
statement.setString(2, imsSalary.getEmpId());
statement.setString(3, imsSalary.getSaDate());
statement.setDouble(4, imsSalary.getSaBase());
statement.setDouble(5, imsSalary.getSaPerformance());
statement.setDouble(6, imsSalary.getSaInsurance());
statement.setDouble(7, imsSalary.getSaActual());
statement.setObject(8, imsSalary.getCreateTime());
statement.setObject(9, imsSalary.getUpdateTime());
return statement.executeUpdate();
} catch (SQLException e) {
System.err.println("数据库连接异常" + e.getMessage());
}
return 0;
}
@Override
public int deleteImsSalary(ImsEmployee imsEmployee,String dateString) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_salary SET is_deleted = 1 WHERE emp_id=? AND sa_date=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmployee.getEmpId());
statement.setString(2,dateString);
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return 0;
}
@Override
public int updateImsSalary(ImsEmpSalaryDto imsEmpSalary) {
try(Connection connection = JdbcUtil.getConnection()){
String sql = "UPDATE ims_salary SET sa_base=? , sa_performance =?,sa_insurance=?,sa_actual=?,update_time=? WHERE emp_id=? AND sa_date=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setDouble(1, imsEmpSalary.getSaBase());
statement.setDouble(2, imsEmpSalary.getSaPerformance());
statement.setDouble(3, imsEmpSalary.getSaInsurance());
statement.setDouble(4, imsEmpSalary.getSaActual());
statement.setObject(5, imsEmpSalary.getUpdateTime());
statement.setString(6, imsEmpSalary.getEmpId());
statement.setString(7,imsEmpSalary.getSaDate());
return statement.executeUpdate();
}catch (SQLException e){
System.err.println("数据库连接异常"+e.getMessage());
}
return 0;
}
@Override
public List<ImsEmpSalaryDto> findSalaryById(ImsEmpSalaryDto imsEmpSalary) {
ArrayList<ImsEmpSalaryDto> list = new ArrayList<>();
try (Connection connection = JdbcUtil.getConnection()) {
String sql = "SELECT ims_employee.emp_name,sa_date,sa_base,sa_performance,sa_insurance,sa_actual FROM ims_salary JOIN ims_employee ON ims_salary.emp_id = ims_employee.emp_id WHERE ims_salary.is_deleted = 0 AND ims_employee.emp_id=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmpSalary.getEmpId());
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
ImsEmpSalaryDto imsEmpSalary1 = new ImsEmpSalaryDto();
imsEmpSalary1.setEmpName(resultSet.getString("emp_name"));
imsEmpSalary1.setSaDate(resultSet.getString("sa_date"));
imsEmpSalary1.setSaActual(resultSet.getDouble("sa_actual"));
imsEmpSalary1.setSaBase(resultSet.getDouble("sa_base"));
imsEmpSalary1.setSaPerformance(resultSet.getDouble("sa_performance"));
imsEmpSalary1.setSaInsurance(resultSet.getDouble("sa_insurance"));
list.add(imsEmpSalary1);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public List<ImsEmpSalaryDto> findImsSalaryByTime(ImsEmpSalaryDto imsEmpSalary) {
ArrayList<ImsEmpSalaryDto> list = new ArrayList<>();
try (Connection connection = JdbcUtil.getConnection()) {
String sql = "SELECT ims_employee.emp_name,sa_date,sa_base,sa_performance,sa_insurance,sa_actual FROM ims_employee LEFT\n" +
"JOIN ims_salary ON ims_salary.emp_id = ims_employee.emp_id WHERE ims_salary.is_deleted = 0 AND sa_date=?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1,imsEmpSalary.getSaDate());
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
ImsEmpSalaryDto imsEmpSalary1 = new ImsEmpSalaryDto();
imsEmpSalary1.setEmpName(resultSet.getString("emp_name"));
imsEmpSalary1.setSaDate(resultSet.getString("sa_date"));
imsEmpSalary1.setSaActual(resultSet.getDouble("sa_actual"));
imsEmpSalary1.setSaBase(resultSet.getDouble("sa_base"));
imsEmpSalary1.setSaPerformance(resultSet.getDouble("sa_performance"));
imsEmpSalary1.setSaInsurance(resultSet.getDouble("sa_insurance"));
list.add(imsEmpSalary1);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public List<ImsEmpSalaryDto> findImsSalaryAll() {
ArrayList<ImsEmpSalaryDto> list = new ArrayList<>();
try (Connection connection = JdbcUtil.getConnection()) {
String sql = "SELECT ims_employee.emp_name,ims_salary.emp_id,sa_date,sa_base,sa_performance,sa_insurance,sa_actual FROM ims_salary JOIN ims_employee ON ims_salary.emp_id = ims_employee.emp_id WHERE ims_salary.is_deleted = 0";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
ImsEmpSalaryDto imsEmpSalary1 = new ImsEmpSalaryDto();
imsEmpSalary1.setEmpId(resultSet.getString("emp_id"));
imsEmpSalary1.setEmpName(resultSet.getString("emp_name"));
imsEmpSalary1.setSaDate(resultSet.getString("sa_date"));
imsEmpSalary1.setSaActual(resultSet.getDouble("sa_actual"));
imsEmpSalary1.setSaBase(resultSet.getDouble("sa_base"));
imsEmpSalary1.setSaPerformance(resultSet.getDouble("sa_performance"));
imsEmpSalary1.setSaInsurance(resultSet.getDouble("sa_insurance"));
list.add(imsEmpSalary1);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
-
dto类
ImsEmpSalaryDto
package com.codingfuture.dto;
import java.util.Date;
/**
* 员工薪资实体类
* @author xiang
*/
public class ImsEmpSalaryDto {
private String saId;
private String empName;
private String empId;
private String saDate;
private double saBase;
private double saPerformance;
private double saInsurance;
private double saActual;
private Date createTime;
private Date updateTime;
public ImsEmpSalaryDto() {
}
public ImsEmpSalaryDto(String saId, String empName, String empId, String saDate, double saBase, double saPerformance, double saInsurance, double saActual, Date createTime, Date updateTime) {
this.saId = saId;
this.empName = empName;
this.empId = empId;
this.saDate = saDate;
this.saBase = saBase;
this.saPerformance = saPerformance;
this.saInsurance = saInsurance;
this.saActual = saActual;
this.createTime = createTime;
this.updateTime = updateTime;
}
public String getSaId() {
return saId;
}
public void setSaId(String saId) {
this.saId = saId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getEmpId() {
return empId;
}
public void setEmpId(String empId) {
this.empId = empId;
}
public String getSaDate() {
return saDate;
}
public void setSaDate(String saDate) {
this.saDate = saDate;
}
public double getSaBase() {
return saBase;
}
public void setSaBase(double saBase) {
this.saBase = saBase;
}
public double getSaPerformance() {
return saPerformance;
}
public void setSaPerformance(double saPerformance) {
this.saPerformance = saPerformance;
}
public double getSaInsurance() {
return saInsurance;
}
public void setSaInsurance(double saInsurance) {
this.saInsurance = saInsurance;
}
public double getSaActual() {
return saActual;
}
public void setSaActual(double saActual) {
this.saActual = saActual;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Override
public String toString() {
return "ImsEmpSalary{" +
"saId='" + saId + '\'' +
", empName='" + empName + '\'' +
", empId='" + empId + '\'' +
", saDate='" + saDate + '\'' +
", saBase=" + saBase +
", saPerformance=" + saPerformance +
", saInsurance=" + saInsurance +
", saActual=" + saActual +
", createTime=" + createTime +
", updateTime=" + updateTime +
'}';
}
}
ChineseCharToEnUtil 获取部门首字母大写
package com.codingfuture.utils;
import java.io.UnsupportedEncodingException;
/**
* @author xiang
*/
public class ChineseCharToEnUtil {
private final static int[] li_SecPosValue = { 1601, 1637, 1833, 2078, 2274,
2302, 2433, 2594, 2787, 3106, 3212, 3472, 3635, 3722, 3730, 3858,
4027, 4086, 4390, 4558, 4684, 4925, 5249, 5590 };
private final static String[] lc_FirstLetter = { "a", "b", "c", "d", "e",
"f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "w", "x", "y", "z" };
/**
* 取得给定汉字串的首字母串,即声母串
* @param str 给定汉字串
* @return 声母串
*/
public static String getAllFirstLetter(String str) {
if (str == null || str.trim().length() == 0) {
return "";
}
String _str = "";
for (int i = 0; i < str.length(); i++) {
_str = _str + getFirstLetter(str.substring(i, i + 1));
}
return _str.toUpperCase();
}
/**
* 取得给定汉字的首字母,即声母
* @param chinese 给定的汉字
* @return 给定汉字的声母
*/
public static String getFirstLetter(String chinese) {
if (chinese == null || chinese.trim().length() == 0) {
return "";
}
chinese = conversionStr(chinese, "GB2312", "ISO8859-1");
if (chinese.length() > 1) // 判断是不是汉字
{
int li_SectorCode = (int) chinese.charAt(0); // 汉字区码
int li_PositionCode = (int) chinese.charAt(1); // 汉字位码
li_SectorCode = li_SectorCode - 160;
li_PositionCode = li_PositionCode - 160;
int li_SecPosCode = li_SectorCode * 100 + li_PositionCode; // 汉字区位码
if (li_SecPosCode > 1600 && li_SecPosCode < 5590) {
for (int i = 0; i < 23; i++) {
if (li_SecPosCode >= li_SecPosValue[i]
&& li_SecPosCode < li_SecPosValue[i + 1]) {
chinese = lc_FirstLetter[i];
break;
}
}
} else // 非汉字字符,如图形符号或ASCII码
{
chinese = conversionStr(chinese, "ISO8859-1", "GB2312");
chinese = chinese.substring(0, 1);
}
}
return chinese;
}
/**
* 字符串编码转换
* @param str 要转换编码的字符串
* @param charsetName 原来的编码
* @param toCharsetName 转换后的编码
* @return 经过编码转换后的字符串
*/
private static String conversionStr(String str, String charsetName, String toCharsetName) {
try {
str = new String(str.getBytes(charsetName), toCharsetName);
} catch (UnsupportedEncodingException ex) {
System.out.println("字符串编码转换异常:" + ex.getMessage());
}
return str;
}
}
ChineseUtil 判断输入是否为中文
package com.codingfuture.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ChineseUtil {
public static boolean checkName(String dptName) {
int n = 0;
for (int i = 0; i < dptName.length(); i++) {
n = (int) dptName.charAt(i);
if (!(19968 <= n && n < 40869)) {
return false;
}
}
return true;
}
}
ColorUtil 控制台打印颜色
package com.codingfuture.utils;
/**
* @author xiang
*/
public class ColorUtil {
/**
* @param colour 颜色代号:背景颜色代号(41-46);前景色代号(31-36)
* @param type 样式代号:0无;1加粗;3斜体;4下划线
* @param content 要打印的内容
*/
public static String getFormatLogString(String content, int colour, int type) {
boolean hasType = type != 1 && type != 3 && type != 4;
if (hasType) {
return String.format("\033[%dm%s\033[0m", colour, content);
} else {
return String.format("\033[%d;%dm%s\033[0m", colour, type, content);
}
}
}
JdbcUtil
package com.codingfuture.utils;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
/**
* @author xiang
*/
public class JdbcUtil {
private static DruidDataSource dataSource;
static {
try {
Properties properties = new Properties();
//读取properties文件
InputStream inputStream = JdbcUtil.class.getClassLoader().getResourceAsStream("druid.properties");
properties.load(inputStream);
//创建数据库连接池
dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取数据库连接池
public static Connection getConnection() {
Connection conn = null;
try {
conn = dataSource.getConnection();
} catch (SQLException e) {
System.out.println("数据库连接异常"+e.getMessage());
}
return conn;
}
//关闭连接
public static void close(Connection conn) {
if(conn !=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
maven 导入的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
项目运行部分图片如下: