c语言编程笔录

首页 >   > 笔记大全

笔记大全

MyBatis配置与CRUD使用的方法是什么

更新时间:2023-11-13

MyBatis是什么

MyBatis是一款开源的基于Java的持久层框架,可以帮助开发者更好的与数据库打交道。MyBatis将SQL和Java代码进行解耦,允许开发者以面向对象的思维对数据库操作进行管理,同时也提供了丰富的映射功能,可以将查询结果转换为Java对象。

MyBatis的配置



    
    
    
    




    
        
        
        
        
    
    
    
        
    

需要注意的是,MyBatis的配置文件名称必须为mybatis-config.xml,并且需要放在类路径下。在配置文件中,需要先定义数据源的类型和相关参数,然后再进行MyBatis实例的配置,其中可以设置一些全局的属性,如是否开启延迟加载、是否开启自动映射等,同时需要注册Mapper类,方便后续进行CRUD操作。

MyBatis的CRUD操作

Select
public class UserMapper {
    @Select("SELECT * FROM user WHERE id = #{userId}")
    User selectByUserId(int userId);
}

以上是使用MyBatis进行查询操作的示例,通过注解的方式定义了查询语句。使用MyBatis进行查询操作需要注意以下几点:

  • 在Mapper类中需要定义对应的SQL语句,可以使用注解进行定义,也可以在XML文件中通过SQL标签进行定义。
  • 在SQL语句中可以使用#{paramName}进行参数的占位,也可以使用${paramName}进行参数的替换,但是使用#{paramName}可以防止SQL注入。
  • 通过调用SqlSession的selectOne方法或者selectList方法可以执行对应的SQL语句。
Insert
public class UserMapper {
    @Insert("INSERT INTO user(username, password) VALUES(#{username}, #{password})")
    void insertUser(User user);
}

以上是使用MyBatis进行插入操作的示例,通过注解的方式定义了插入语句。使用MyBatis进行插入操作需要注意以下几点:

  • 在Mapper类中需要定义对应的SQL语句,可以使用注解进行定义,也可以在XML文件中通过SQL标签进行定义。
  • 在SQL语句中可以使用#{paramName}进行参数的占位,也可以使用${paramName}进行参数的替换,但是使用#{paramName}可以防止SQL注入。
  • 通过调用SqlSession的insert方法可以执行对应的SQL语句,成功之后需要调用commit方法进行事务的提交。
Update
public class UserMapper {
    @Update("UPDATE user SET password = #{password} WHERE id = #{userId}")
    void updateUser(int userId, String password);
}

以上是使用MyBatis进行更新操作的示例,通过注解的方式定义了更新语句。使用MyBatis进行更新操作需要注意以下几点:

  • 在Mapper类中需要定义对应的SQL语句,可以使用注解进行定义,也可以在XML文件中通过SQL标签进行定义。
  • 在SQL语句中可以使用#{paramName}进行参数的占位,也可以使用${paramName}进行参数的替换,但是使用#{paramName}可以防止SQL注入。
  • 通过调用SqlSession的update方法可以执行对应的SQL语句,成功之后需要调用commit方法进行事务的提交。
Delete
public class UserMapper {
    @Delete("DELETE FROM user WHERE id = #{userId}")
    void deleteUser(int userId);
}

以上是使用MyBatis进行删除操作的示例,通过注解的方式定义了删除语句。使用MyBatis进行删除操作需要注意以下几点:

  • 在Mapper类中需要定义对应的SQL语句,可以使用注解进行定义,也可以在XML文件中通过SQL标签进行定义。
  • 在SQL语句中可以使用#{paramName}进行参数的占位,也可以使用${paramName}进行参数的替换,但是使用#{paramName}可以防止SQL注入。
  • 通过调用SqlSession的delete方法可以执行对应的SQL语句,成功之后需要调用commit方法进行事务的提交。

总结

MyBatis是一款优秀的持久层框架,在Java开发中得到了广泛的应用。通过本文,我们可以了解到MyBatis的基本配置和CRUD操作的使用方法,可以帮助我们更好的进行数据库操作。