第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

Mybatis持久層框架學(xué)習(xí)入門:從零開始的簡單教程

標(biāo)簽:
雜七雜八
概述

Mybatis 是一个致力于简化 Java 与数据库交互的持久层框架,其采用 SQL 映射,使得开发者可以轻松编写 SQL 语句来实现对数据库的增删查改操作,同时提供了一套简洁的 API 来连接数据库,执行 SQL 语句。Mybatis 的主要特点包括:轻量级、依赖注入、SQL 映射和配置灵活性。下面,我们将通过基础概念、快速安装、核心使用、映射文件详解、动态 SQL 与高级特性,直至集成与实战,全面指导 Mybatis 框架应用,开启高效数据持久化之旅。

快速安装 Mybatis

安装环境

确保已安装以下工具:

  • JDK:用于运行 Java 程序。
  • MavenGradle:用于项目构建和依赖管理。

添加 Mybatis 依赖

在项目的 pom.xml(Maven)或 build.gradle(Gradle)文件中添加 Mybatis 依赖:

Maven 依赖配置

<dependencies>
    <!-- Mybatis Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.2</version>
    </dependency>
</dependencies>

Gradle 依赖配置

dependencies {
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2'
}

Mybatis 核心基础使用

配置数据源和事务管理器

application.ymlapplication.properties 文件中配置数据库连接信息:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password

创建 Mybatis 配置对象和 SqlSessionFactory

启动应用后,Spring 将自动创建 SqlSessionFactory

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.project")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

映射文件详解

XML 映射文件结构和语法

映射文件用于定义 SQL 语句及其对应的方法。每个 <sql><select><insert><update><delete> 元素代表了不同的 SQL 类型。

示例:CRUD 操作的映射文件编写

<configuration>
    <mappers>
        <mapper resource="com/example/project/UserMapper.xml"/>
    </mappers>
</configuration>

<sql id="selectUsersIds">SELECT id FROM users WHERE username = #{username}</sql>

<select id="getUser" parameterType="int" resultType="com.example.project.User">
    SELECT * FROM users WHERE id = #{id}
</select>

<insert id="insertUser" parameterType="com.example.project.User">
    INSERT INTO users(username, email) VALUES(#{username}, #{email})
</insert>

<update id="updateUser" parameterType="com.example.project.User">
    UPDATE users SET username = #{username}, email = #{email} WHERE id = #{id}
</update>

<delete id="deleteUser" parameterType="int">
    DELETE FROM users WHERE id = #{id}
</delete>

动态 SQL 与高级特性

动态 SQL 标签

Mybatis 提供了 <if><choose><when><otherwise><foreach> 等标签用于构建动态 SQL,实现条件判断和循环。

示例:使用动态 SQL 优化查询条件

<select id="getUserByIdOrEmail" parameterType="string">
    SELECT * FROM users WHERE id = #{id} OR email LIKE CONCAT('%', #{searchTerm}, '%')
    <if test="searchTerm != null and searchTerm != ''">
        OR email LIKE CONCAT('%', #{searchTerm}, '%')
    </if>
</select>

集成与实战

整合 Mybatis 与 Spring

使用 Spring 的自动配置来简化 Mybatis 的配置:

<mybatis:configuration mapper-locations="classpath:mappers/*.xml">
    <mybatis:sqlSessionFactoryBean dataSource="${spring.datasource}" />
</mybatis:configuration>

实例:用户注册、登录功能

通过 Mybatis 执行 SQL 进行用户注册与登录验证:

@Service
public class UserService {
    @Autowired
    private SqlSession session;

    public void register(User user) {
        session.insert("com.example.project.UserMapper.insertUser", user);
    }

    public User login(String username) {
        return session.selectOne("com.example.project.UserMapper.getUser", username);
    }
}

总结与下一步

Mybatis 使得开发者能够更专注于业务逻辑,而非繁琐的数据库交互代码。通过学习以上内容,你现在已经具备了使用 Mybatis 进行数据库操作的基础。下一步,你可以尝试更复杂的查询、事务管理、性能优化等高级特性,或者将 Mybatis 与更广泛的框架和工具集成,如 Spring Boot、Vue.js 或者前后端分离的架构。此外,持续参与实际项目实践,学习和探索 Mybatis 的更多功能和最佳实践,将有助于深化你的理解与技能。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消