Directorio
Revise cómo MyBatis opera la base de datos
Análisis de valor de atributo Mapper.xml
Agregar, eliminar y modificar operaciones
Revise cómo MyBatis opera la base de datos
Primero revisemos una línea de la base de datos operativa MyBatis.
1. Primero escribe el nombre del método en la capa dao
public interface UserDao {
List<User> getUserList();
}
2. Especifique la identificación del método y el tipo de valor de retorno en el archivo xml específico, y escriba la instrucción sql
<!--namespace=绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.lt.dao.UserDao">
<!--select查询语句-->
<select id="getUserList" resultType="com.lt.pojo.User">
select * from mybatis.user
</select>
</mapper>
3. Ejecute la consulta en la clase de prueba.
//第一步:获得SqlSession对象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//方式一:getMapper
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
espacio de nombres
El nombre del espacio de nombres debe ser el mismo que el nombre de ruta de la interfaz Dao
Análisis de valor de atributo Mapper.xml
-
id: correspondiente al nombre del método en la interfaz dao;
-
resultType: ¡El valor de retorno de la ejecución de la instrucción SQL!
-
parameterType: tipo de parámetro!
Agregar, eliminar y modificar operaciones
<insert id="addUser" parameterType="com.kuang.pojo.User">
insert into mybatis.user (id, name, pwd) values (#{id},#{name},#{pwd});
</insert>
<update id="updateUser" parameterType="com.kuang.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id} ;
</update>
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id};
</delete>
Tenga en cuenta que todas las operaciones de adición, eliminación y modificación requieren el envío de transacciones
También puede configurar para confirmar transacciones automáticamente al crear archivos en la clase de herramienta MybatisUtils
Mapa todopoderoso
Hemos escrito algunas líneas antes, y encontramos que hay dos problemas.
Primero, en sql, la identificación debe ser igual a {id}, el nombre debe ser igual a {nombre},
El segundo es que si usa una clase de entidad personalizada como Usuario como un objeto de parámetro, necesitamos escribir cada campo de la clase de entidad, pero si usamos Mapa, puede pasar cualquier parámetro que quiera pasar.
Ejemplo: use el mapa para modificar el nombre de usuario
Abra la base de datos para ver los resultados modificados.
Puede usar el mapa para personalizar el número de parámetros pasados, y los nombres de campo pasados se basan principalmente en la llamada real, que puede ser inconsistente con los nombres de campo de la tabla de la base de datos.
Consulta difusa
Cuando use consultas difusas, no use el signo de porcentaje en la instrucción SQL, porque el formato del SQL muerto es muy inseguro y será atacado por inyección SQL.