2011-10-05 3 views
0

Dans mon projet, je dois implémenter un testcase JUnit qui va insérer des données dans une table de base de données au moment du démarrage du serveur. Quelqu'un peut-il suggérer comment l'implémenter?Cas de test Junit pour insérer des données dans la base de données

+0

Quel serveur utilisez-vous? –

+0

@Matthew Farwell: tomcat5 – Romi

+0

quelle application utilisez-vous? application basée sur le servlet simple ou un travail de cadre mvc? –

Répondre

0

J'ai énuméré quelques solutions ici

  1. en utilisant la base de données d'initialisation du printemps, ajoutez à votre fichier de contexte de printemps, le printemps exécutera le script SQL comme il démarre conteneur

    <!-- Script with sql to insert statements --> 
    <jdbc:initialize-database> 
         <jdbc:script location="classpath:initDB.sql"/> 
        </jdbc:initialize-database> 
    
  2. Vous pouvez le faire en utilisant le code, Cela liera votre code aux interfaces de ressort

    @Service 
    public class InitializeDBService implements InitializingBean 
    { 
    
        @Autowired 
        JdbcTemplate jdbcTemplate; 
    
        @Override 
        public void afterPropertiesSet() throws Exception { 
        jdbcTemplate.execute("your inserts"); 
        } 
    } 
    
  3. Vous pouvez utiliser un servlet pour faire

    @SuppressWarnings("serial") 
    public class InitDBServlet extends HttpServlet 
    { 
        public void init() throws ServletException 
        { 
         //spawning the thread so that not to delay servlet start up 
         new Thread(new InitDB()).start(); 
        } 
    
        class InitDB implements Runnable 
        { 
        @Override 
        public void run() 
        { 
        //add your insert code here 
        } 
        } 
        } 
    
Questions connexes