加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解析xml初始化数据库

发布时间:2020-12-16 06:32:20 所属栏目:百科 来源:网络整理
导读:项目的研发或者上线阶段,为了方便,可能需要初始化数据库:包括用户,权限,或者一些其他的基础数据。我这里采用的是解析 Xml 文件初始化数据库。 (1)Xml 文件的格式如下: (2)配置初始化数据的 Servlet 在 web.xml 中配置 servlet servlet-namePersistence

项目的研发或者上线阶段,为了方便,可能需要初始化数据库:包括用户,权限,或者一些其他的基础数据。我这里采用的是解析Xml文件初始化数据库。

(1)Xml文件的格式如下:

(2)配置初始化数据的Servlet

web.xml中配置

<servlet>

<servlet-name>PersistenceTest</servlet-name>

<servlet-class>com.saving.ecm.servlet.PersistenceInitialize</servlet-class>

<load-on-startup>2</load-on-startup>

</servlet>

(3)Tomcat服务器启动时,加载Servlet

publicclassPersistenceInitializeextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

privatestaticfinalStringFILEPATH="initDataBase.xml";

@Override

publicvoidinit()throwsServletException{

super.init();

try{

//如果用户数据count=0

Documentdocument=new

SAXReader().read(Thread.currentThread().getContextClassLoader()

.getResourceAsStream(FILEPATH));

initUser(document);//初始化用户

}catch(Throwablee){

e.printStackTrace();

}

}

@SuppressWarnings("unchecked")

privatevoidinitUser(Documentdocument){

List<Node>childNodes=document.selectNodes("//users/user");

CommonAction<User>action=newCommonAction<User>(User.class);

for(Nodenode:childNodes){

Useruser;

try{

user=action.findById(Long.parseLong(node.valueOf("@id")));

if(user==null){

user=newUser();

}

user.setAccount(node.valueOf("@account"));

user.setName(node.valueOf("@name"));

user.setPassword(MD5Util.md5(node.valueOf("@password")));

user.setEmail(node.valueOf("@email"));

user.setRoleCode(node.valueOf("@roleCode"));

user.setStatus(node.valueOf("@status"));

user.setCreationTime(System.currentTimeMillis());

action.saveEntity(user);

}catch(Throwablee){

e.printStackTrace();

}

}

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读