Comparación y solución de JDBC y mybatis

1. La creación y liberación frecuentes de enlaces de bases de datos provocan un desperdicio de recursos del sistema y, por lo tanto, afectan el rendimiento del sistema. Este problema puede resolverse si se utiliza el grupo de enlaces de bases de datos.

 Solución: configure el grupo de vínculos de datos en SqlMapConfig.xml y utilice el grupo de conexiones para administrar los vínculos de la base de datos. dataSource type = "POOLED"

<environments default="mysql">   
<!-- 配置 mysql 的环境 -->   
    <environment id="mysql">    
        <!-- 配置事务的类型 -->    
        <transactionManager type="JDBC"></transactionManager>    
        <!-- 配置连接数据库的信息:用的是数据源(连接池) -->    
        <dataSource type="POOLED">    
             <property name="driver" value="com.mysql.jdbc.Driver"/>   
             <property name="url" value="jdbc:mysql://localhost:3306/ee50"/>    
             <property name="username" value="root"/>    
             <property name="password" value="1234"/>   
         </dataSource>   
    </environment>  
</environments>   

2. La instrucción SQL escrita en el código hace que el código sea difícil de mantener , y la aplicación real de SQL puede cambiar mucho, y el cambio de SQL requiere cambiar el código Java.

Solución: separe la configuración de la instrucción Sql del código java en el archivo xxxDao.xml .

3. Es problemático pasar parámetros a la instrucción sql , porque la condición where de la instrucción sql no es necesariamente, puede haber más o menos, y los marcadores de posición deben corresponder a los parámetros.

Solución: Mybatis asigna automáticamente objetos java a sentencias sql y define el tipo de parámetros de entrada a través del parámetroType en la sentencia .

4. Es problemático analizar el conjunto de resultados.Los cambios de SQL conducen a cambios en el código de análisis, y es necesario recorrerlo antes de analizarlo.Es más conveniente encapsular los registros de la base de datos en objetos pojo para analizarlos. Solución: Mybatis asigna automáticamente el resultado de la ejecución de sql al objeto java y define el tipo de resultado de salida a través de resultType en la declaración

 

Supongo que te gusta

Origin blog.csdn.net/weixin_43725517/article/details/108859441
Recomendado
Clasificación