解析xml初始化資料庫,解析xml初始化

來源:互聯網
上載者:User

解析xml初始化資料庫,解析xml初始化

項目的研發或者上線階段,為了方便,可能需要初始化資料庫:包括使用者,許可權,或者一些其他的基礎資料。我這裡採用的是解析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

    public class PersistenceInitialize extends HttpServlet {

private static final long serialVersionUID = 1L;

private static final String FILEPATH = "initDataBase.xml";

 

@Override

public void init() throws ServletException {

super.init();

try {

           //如果使用者資料count = 0

           Document document = new 

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

.getResourceAsStream(FILEPATH));

   initUser(document);// 初始化使用者

} catch (Throwable e) {

e.printStackTrace();

}

}

 

@SuppressWarnings("unchecked")

private void initUser(Document document) {

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

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

for (Node node : childNodes) {

User user;

try {

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

if (user == null) {

user = new User();

 

}

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 (Throwable e) {

e.printStackTrace();

}

 

}

}

 

}

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.