从persistent.xml 获取数据库用户名和密码值

问题描述

我正在尝试获取要在我的应用程序中使用的数据库用户名和密码值。我正在使用 EntityManager ,但是当打印这些值时,我用星号隐藏了它们。如何在没有星号的情况下隐藏这些值?

控制器类

@Controller
public class AttendanceReportController {

    @Autowired
    private DepartmentService departmentService;

    @Autowired
    private ShiftMasterService shiftMasterService;

    @Autowired
    private EmployeeAttendanceService employeeAttendanceService;

    @PersistenceContext
    EntityManager entityManager;

    @GetMapping("/AttendanceReport")
    public String AttendanceReportPage() {
        return "attendanceReport";
    }

    @modelattribute("depList")
    public List<DepartmentMaster> getAllDeps() throws sqlException {

        EntityManagerFactory emf = entityManager.getEntityManagerFactory();
        Map<String,Object> emfproperties = emf.getProperties();

        String url = (String) emfproperties.get("javax.persistence.jdbc.url");
        String user = (String) emfproperties.get("javax.persistence.jdbc.user");
        String password = (String) emfproperties.get("javax.persistence.jdbc.password");
        System.out.println("URL : " + url);
        System.out.println("Username : " + user);
        System.out.println("Password : " + password);

        return departmentService.getAllDep();
    }
}

persistent.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="hrm">
<properties>
   <property name="javax.persistence.jdbc.url" value="jdbc:MysqL://localhost:3306/hrm"/>
   <property name="javax.persistence.jdbc.user" value="root"/>
   <property name="javax.persistence.jdbc.password" value="1234"/>
   <property name="javax.persistence.jdbc.driver" value="com.MysqL.jdbc.Driver"/>
   
   <property name="hibernate.show_sql" value="true" ></property>
   <property name="hibernate.format_sql" value="true" />
   
   <property name="hibernate.jdbc.batch_size" value="30" />
   <property name="hibernate.order_inserts" value="true" />
   <property name="hibernate.generate_statistics" value="false" />
   
</properties>


</persistence-unit>

</persistence>

输出

URL : jdbc:MysqL://localhost:3306/hrm
Username : ****
Password : ****

Result Image

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...