mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法

简介: 当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。

在Java的MyBatis框架中,sqlmapconfig.xml 是框架的核心配置文件,其中配置了MyBatis的全局属性和数据库连接信息,同时也定义了映射器(Mapper)XML文件的路径,映射器XML文件中则包含了具体的数据库操作语句,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)等操作。

全局配置(sqlmapconfig.xml)的基本结构:

在全局配置文件中,您通常会配置环境(包括数据源和事务管理器)和映射器文件的路径。

<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="数据库驱动"/>
                <property name="url" value="数据库连接URL"/>
                <property name="username" value="数据库用户名"/>
                <property name="password" value="数据库密码"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="路径/YourMapper.xml"/>
    </mappers>
</configuration>

映射器(Mapper)XML文件:

映射器XML文件中定义了操作数据库的具体SQL语句。以下是一些基础的用法。

  1. Insert语句 - 用于将数据插入到数据库中。
<mapper namespace="com.example.mapper.YourMapper">
    <insert id="insertYourEntity" parameterType="YourEntity">
        INSERT INTO your_table_name (column1, column2, ...)
        VALUES (#{property1}, #{property2}, ...)
    </insert>
</mapper>
  1. Delete语句 - 用于从数据库中删除数据。
<mapper namespace="com.example.mapper.YourMapper">
    <delete id="deleteYourEntity" parameterType="int">
        DELETE FROM your_table_name WHERE id = #{id}
    </delete>
</mapper>
  1. Update语句 - 用于更新数据库中的数据。
<mapper namespace="com.example.mapper.YourMapper">
    <update id="updateYourEntity" parameterType="YourEntity">
        UPDATE your_table_name SET column1 = #{property1}, column2 = #{property2}, ...
        WHERE id = #{id}
    </update>
</mapper>
  1. Select语句 - 用于从数据库中查询数据。
<mapper namespace="com.example.mapper.YourMapper">
    <select id="selectYourEntity" parameterType="int" resultType="YourEntity">
        SELECT * FROM your_table_name WHERE id = #{id}
    </select>
    <select id="selectAllYourEntities" resultType="YourEntity">
        SELECT * FROM your_table_name
    </select>
</mapper>

在上述映射器文件中,namespace 指的是对应的Mapper接口的路径,id 对应Mapper接口中的方法名称,parameterType 指的是传入的参数类型,resultType 指的是查询操作返回的结果类型。在SQL语句中,#{property} 用于从传入的参数中取出相应的属性值。

用法:

在应用程序中,您会拥有对应的Mapper接口定义:

public interface YourMapper {
    void insertYourEntity(YourEntity yourEntity);

    void deleteYourEntity(int id);

    void updateYourEntity(YourEntity yourEntity);

    YourEntity selectYourEntity(int id);

    List<YourEntity> selectAllYourEntities();
}

您会在MyBatis的配置文件中关联这个接口和映射器XML文件。这样,当您在应用程序中调用接口方法时,MyBatis会自动找到映射器XML文件中定义的SQL语句并执行。

为了和数据库交互,您会使用MyBatis提供的 SqlSession 对象,这可以是通过 SqlSessionFactory 获得的。

SqlSession sqlSession = sqlSessionFactory.openSession();
YourMapper yourMapper = sqlSession.getMapper(YourMapper.class);
YourEntity yourEntity = yourMapper.selectYourEntity(1);
sqlSession.commit();
sqlSession.close();

这种设计将SQL语句管理与应用程序的业务逻辑分离,增强了代码的可维护性和可测试性。您能够通过简单的接口方法调用来执行复杂的数据库操作,而不用关心底层的SQL细节,这是MyBatis框架强大而受欢迎的原因之一。

当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。

目录
相关文章
|
SQL Java 数据库连接
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
1041 11
|
SQL XML Java
菜鸟之路Day35一一Mybatis之XML映射与动态SQL
本文介绍了MyBatis框架中XML映射与动态SQL的使用方法,作者通过实例详细解析了XML映射文件的配置规范,包括namespace、id和resultType的设置。文章还对比了注解与XML映射的优缺点,强调复杂SQL更适合XML方式。在动态SQL部分,重点讲解了`&lt;if&gt;`、`&lt;where&gt;`、`&lt;set&gt;`、`&lt;foreach&gt;`等标签的应用场景,如条件查询、动态更新和批量删除,并通过代码示例展示了其灵活性与实用性。最后,通过`&lt;sql&gt;`和`&lt;include&gt;`实现代码复用,优化维护效率。
1514 5
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
882 0
|
SQL Java 数据库连接
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
|
SQL 缓存 Java
框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性
本文详细解构了MyBatis的工作机制,包括解析配置、创建连接、执行SQL、结果封装和关闭连接等步骤。文章还介绍了MyBatis的五大核心功能特性:支持动态SQL、缓存机制(一级和二级缓存)、插件扩展、延迟加载和SQL注解,帮助读者深入了解其高效灵活的设计理念。
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
2182 1
|
SQL 关系型数据库 MySQL
PolarDB产品使用问题之如何将指定的备份SQL文件导入到集群中
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
282 0
|
SQL 关系型数据库 MySQL
MySQL 导出 表结构,执行 .sql 文件导入结构或者数据
MySQL 导出 表结构,执行 .sql 文件导入结构或者数据
|
SQL 关系型数据库 MySQL
Linux系统如何将sql文件导入mysql
在学习阿里云搭建网址时发现sql_file="/var/www/html/static/backup/sql/"$(ls /var/www/html/static/backup/sql/) &&mysql -uroot -pNewPassWord1. pbootcms < $sql_file语句报错。在打开公网的网址时发现数据库查询语言报错,不存在表,于是第一时间排除是在Linux系统中/var/www/html/static/backup/sql/的文件没有成功导入到MySQL中。
760 0
Linux系统如何将sql文件导入mysql