"MyBatis Series": Springmvc+mybatis initialization table (01)

Source: Internet
Author: User

I. Engineering CATALOGUE

Second, the definition of system initialization core class

1.Com.system.utils.service.SystemInitService

 PackageCom.system.utils.service;ImportJavax.servlet.ServletContext;Importorg.apache.commons.lang3.StringUtils;ImportOrg.apache.log4j.Logger;ImportOrg.simpleframework.xml.Serializer;ImportOrg.simpleframework.xml.core.Persister;Importorg.springframework.beans.factory.annotation.Autowired;ImportOrg.springframework.core.io.ClassPathResource;ImportOrg.springframework.core.io.Resource;ImportOrg.springframework.stereotype.Service;ImportOrg.springframework.web.context.WebApplicationContext;Importorg.springframework.web.context.support.WebApplicationContextUtils;ImportCom.system.utils.bean.DataBaseInit;/*** Initialization of the system *@authorCarl * @date 2016-09-13*/@Service Public Abstract classSysteminitservice {Private Static FinalLogger log = Logger.getlogger (systeminitservice.class); @AutowiredPrivateIdatabaseinitservice Databaseinitservice; /*** Get Initialization interface *@paramBeanname *@paramContext*/     Public Final Static voidInitialization (FinalString Beanname,FinalServletContext context) {        Try {            FinalWebapplicationcontext ApplicationContext =Webapplicationcontextutils.getwebapplicationcontext (context); FinalSysteminitservice Initservice = (systeminitservice) Applicationcontext.getbean (Beanname, SystemInitService.class);        Initservice.init (context); } Catch(Exception e) {log.error (E.getmessage (), E); }    }            /*** System Initialization Data **/     Public Abstract voidInitData (); /*** Resource Path *@return     */     Public AbstractString ResourcePath (); /*** Initialize Database * *@authorCarl*/    Private voidinitdatabase () {Try {            if(Stringutils.isempty (ResourcePath ())) {return; } Resource Resource=NewClasspathresource (ResourcePath ()); FinalSerializer Serializer =NewPersister (); Databaseinit Databaseinit= Serializer.read (databaseinit.class, Resource.getinputstream ());        Databaseinitservice.initdatabase (Databaseinit); } Catch(Exception e) {log.error (E.getmessage (), E); }    }    /*** Initialize template *@paramContext*/    Private voidInitFinalServletContext context) {System.out.println ("======================== system starts initializing =======================================");        Initdatabase ();        InitData (); System.out.println ("======================== system initialization End ======================================="); }}

Systeminitservice Implementation class Com.nc.rms.service.init.CmsSystemInitServiceImpl

 PackageCom.nc.rms.service.init;ImportOrg.springframework.stereotype.Service;ImportCom.system.utils.service.SystemInitService; @Service ("Cmssysteminitservice") Public classCmssysteminitserviceimplextendssysteminitservice{@Override Public voidInitData () {System.out.println ("Initializing in Progress"); } @Override PublicString ResourcePath () {return"Sql/databaseinit.xml"; }}

databaseinit.xml Database Build Table Statement Store path Create initialize build Table statement update modify database table

<?xml version= "1.0" encoding= "UTF-8"? ><databaseinit initcode= "Rms.table.version" >        <create>        <sqlPath>sql/rms/create_table_mysql.sql</sqlPath>        <!--<procpath></procpath >    </create>    <update updateversion= "1.1" >        <sqlpath>sql/rms/update_table_ 1.1.sql</sqlpath>    </update>     </databaseInit>

too many do not want to write, have a favorite friend can directly see the source code.

Http://pan.baidu.com/s/1jHAcjTO

"MyBatis Series": Springmvc+mybatis initialization table (01)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.