2010-03-17 11 views
5

¿Una pregunta general sobre cuál es la opinión de todos sobre el almacenamiento de consultas SQL dentro de un archivo de configuración?¿Está almacenando consultas SQL dentro de un archivo de configuración?

¿Es este otro cobertizo para bicicletas?

Cheers, Ben

+0

¿Puede ampliar por qué lo desea? No creo que este sea un simple caso de sí/no y quizás haya una forma mejor y alternativa de lograr lo que buscamos. – CResults

+1

Lo siento solo por aclarar que no tengo ningún escenario en particular en mente y simplemente estaba buscando puntos de vista sobre el tema. –

Respuesta

1

Eso es lo que haría si estuviera usando iBatis. No veo el daño en eso.

seguro que supera la construcción de ellos de forma dinámica cuando es innecesario.

1

No. never. En serio;) Limpiar eso aquí en este momento.

intente buscar en BLToolkit - los almacena en atributos a la derecha en la clase abstracta que generan dinámicamente todo el código de Acceso bajo. Lo mismo que usarlo en el archivo de configuración, pero sin escribir ni ver el estúpido código DAL.

2

No me parece tan malo, siempre que cumpla con los requisitos.

¿Está tratando de permitir que el cliente vea y edite las consultas?

¿Está tratando de facilitar el desarrollo/prueba?

Prefiero esto para incluir las consultas en el código.

Pero existe el riesgo de que este archivo se hinchan con una miríada de ligeramente diferentes consultas (ascendente en orden, en orden descendente, SUM (col1) + SUM (col2), SUM (col1) + SUM (col3), etc.)

1

en ese caso, me las guardo en el PP:

  1. haría más difícil para Joe regular para ver alrededor de mis consultas y poner en peligro mi aplicación.
  2. No pueden deducir cómo almaceno mis datos.
  3. Los cambios se reflejarán automáticamente sin necesidad de "presionar" el archivo de configuración.

Pero en realidad, estoy extrapolando sin conocer su situación real. Pero, lejos de todo, no me gustaría que otros vean cómo interactúo con mi esquema o cómo se presenta.

1

¿Cuál es su razonamiento para colocarlos en cualquier lugar menos en el código? Descubrí que, en la mayoría de los casos, el SQL cambia a la misma velocidad que tu código, lo que significa que si cambias UserDao.java, es probable que tengas que cambiar sql-statements.properties al mismo tiempo. Dicho esto, el código se lee muchas más veces de las que está escrito, por lo que escribir código legible es fundamental en una base de código limpia. Con las declaraciones de SQL en un archivo separado, un desarrollador debe buscar en otra parte para averiguar qué consulta utiliza su usuario, lo que hace que la comprensión de su código sea más difícil.

¿La respuesta corta? Lo evitaría si fuera posible.

Cuestiones relacionadas